我们将docker swarm与docker容器一起使用(2个Spring Boot应用程序(hikarcp)和一个具有三个postgres数据库的haproxy和patroni来管理数据库集群)。
可以看到30分钟后连接池不断增加,这导致数据库连接耗尽。
以下是haproxy配置: 全球 maxconn 100
默认 全局登录 模式tcp 重试2 超时客户端30m 超时连接4秒 超时服务器30m 超时检查5秒
前端master_postgresql 绑定*:5000 default_backend backend_master
前端副本_postgresql 绑定*:5001 default_backend backend_replicas
前端patroni_api 绑定*:8008 default_backend backend_api
后端backend_master 选项httpchk选项/ master 服务器dbnode10 dbnode10:5432 maxconn 100检查端口8008 服务器dbnode12 dbnode12:5432 maxconn 100检查端口8008 服务器dbnode13 dbnode13:5432 maxconn 100检查端口8008
后端backend_replicas 选项httpchk选项/副本 服务器dbnode10 dbnode10:5432 maxconn 100检查端口8008 服务器dbnode12 dbnode12:5432 maxconn 100检查端口8008 服务器dbnode13 dbnode13:5432 maxconn 100检查端口8008
后端backend_api 选项httpchk选项/ master 服务器dbnode10 dbnode10:8008 maxconn 100检查端口8008 服务器dbnode12 dbnode12:8008 maxconn 100检查端口8008 服务器dbnode13 dbnode13:8008 maxconn 100检查端口8008