多主复制实现高可用性
1. HAProxy 与服务器后端编号
HAProxy 会按顺序对服务器后端进行编号,所以通常 server_id 为 1。更重要的是,HAProxy 会直接报告对应当前流量目标的服务器名称,例如显示所有新连接都发往 bdr_chicago。如需了解更多 HAProxy Unix 套接字命令的详细信息,可参考:https://cbonte.github.io/haproxy-dconv/2.0/management.html#9.3 。
2. 结合 PgBouncer 与 HAProxy
在高可用的多主复制架构中,HAProxy 能确保我们始终连接到一个可写节点,避免服务器震荡。但仅靠 HAProxy 无法很好地管理流量,这时就需要 PgBouncer。PgBouncer 除了提供连接池功能外,其 RECONNECT 和 WAIT_CLOSE 操作非常有用。通过结合这两个操作,我们可以将 BDR 节点置于维护模式,让未完成的事务完成后再对服务器进行操作。
2.1 准备工作
要应用此方法,需要至少两个可用的 BDR 节点和一个合适的 HAProxy 来管理它们。在继续之前,请完成创建额外 BDR 节点和为多主方法配置 HAProxy 等步骤。同时,建议参考与 PgBouncer 相关的操作,如安装 PgBouncer、安全配置 PgBouncer 和增强 PgBouncer 认证。
2.2 操作步骤
假设已在与 HAProxy 服务相同的节点 pgha - proxy 上安装了 PgBouncer,按以下步骤紧密结合 PgBouncer 和 HAProxy:
超级会员免费看
订阅专栏 解锁全文

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



