我已经使用 1 个主服务器和 2 个从服务器配置了 postgres 备用复制。
Master 和 slave1 位于美国数据中心,而 slave2 位于伦敦的数据中心。
有什么方法可以强制运行伦敦数据中心的应用程序的所有 SELECT 操作始终使用 slave2 来避免网络延迟?
谢谢,卢卡斯
答案1
我想到了一些方法:
更改部署在伦敦的应用程序配置连接的主机名/IP 地址,以便它们连接到伦敦数据库
使用裂脑 DNS使同一主机名解析为伦敦网络中服务器的不同 IP 地址,以便它们透明地连接到所需的 Pg 服务器
使用路由器规则重写流量,这样伦敦的应用程序就会认为它们正在与美国服务器通信,但实际上却被重定向到伦敦的服务器。如果你这样做,你的应用程序管理员会因此而恨你,因为对于任何不知道发生了什么事情的人来说,这都是一场噩梦。
使用本地 PgBouncer 或 PgPool-II 重定向流量