我已经使用 HAProxy 很长一段时间了,但最近遇到了这个问题,我真的不知道如何实现/解决。
+---------------------------+
client-europe \ | HAProxy europe (10.1.0.1) | / data-center-europe
|---| |->
client-states / | HAProxy states (10.2.0.1 | \ data-center-states
+---------------------------+
用户将主要通过 IP 进行连接,并在配置中说明两个代理;类似于app.servers=10.1.0.1,10.1.0.2
。我想要实现的目标:
- 如果只有一个 HAProxy 处于启动状态,则使用该
- 如果两个 HAProxy 都处于 up 状态,则将客户端路由到最近的一个
- 首选靠近 HAProxy 的数据中心(已解决)
因此,让 HAProxy 选择后端的问题就解决了。我不能做的是将用户路由到另一个 HAProxy。类似于(嘿,我检测到您是从欧洲连接的,因此我将您重定向到 10.1.0.1 IP 地址)。