基于位置/ IP 范围重定向的高可用性代理

基于位置/ IP 范围重定向的高可用性代理

我已经使用 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 地址)

相关内容