代理与资源池化:PostgreSQL 高可用与资源管理
1. HAProxy 基础配置
HAProxy 拥有强大的配置语法,背后有数百个参数支持。不过,从头编写配置文件并非易事。在我们的场景中,需要设置的参数其实较少。
1.1 创建检查角色
首先,创建一个名为 haproxy_check 的简单角色,以便 HAProxy 尝试连接 PostgreSQL 并验证服务器是否响应。HAProxy 有自己的连接方法,若未指定用户名会存在兼容性问题。PostgreSQL 角色默认不允许连接任何数据库,但足以通过连接尝试。当 HAProxy 尝试连接并收到预期响应后,就认为服务器在线。这种使用角色的方式虽有些非常规,但完全安全。
1.2 设置全局连接限制
将全局连接限制设置为 100 个连接。这是 HAProxy 在允许连接在内核缓冲区排队之前管理的连接数。通常,建议将此值设置为与 postgresql.conf 中的 max_connections 相同,但并非强制要求。
1.3 配置日志和模式
将日志参数配置为全局,使所有 HAProxy 实例写入相同的日志输出。由于 HAProxy 本质上是一个 HTTP 代理系统,必须确保模式设置为 tcp ,以免 HAProxy 将实际流量解释为 HTTP 头。
1.4 设置连接重试和超时值
还需定义一些连接重试和超时值,这些值可根据使用模式进行调整。特别要注意服务器和客户端超时,若客户端或服务器空闲超过 30 分钟,连
超级会员免费看
订阅专栏 解锁全文

4567

被折叠的 条评论
为什么被折叠?



