基于源ip(IP子网)的HAProxy负载均衡

基于源ip(IP子网)的HAProxy负载均衡

我有 x 个集群。这个集群看起来像

Cluster 1
192.168.1. (Server type 1)
192.168.2. (Server type 2)
192.168.3.1 (Server type 3) <Redis server> 

Cluster 2
192.167.1. (Server type 1)
192.167.2. (Server type 2)
192.167.3.1 (Server type 3) <Redis server> 

目前我正在代码中管理集群组配置。是否可以使用 haproxy 建立名为 的域,并且需要根据源 IP 进行重定向?例如

192.167.* request gets redirect to 192.167.3.1

192.168.* request gets redirect to 192.168.3.1

答案1

这是可能的HAProxy ACL。您需要设置 2 个后端,每个块一个,然后在前端创建 2 个 acl,每个后端一个。

你的前端块看起来像这样

   acl block_7 src 192.167.0.0/16
   acl block_8 src 192.168.0.0/16

   use_backend block_7_hosts if block_7 
   use_backend block_8_hosts if block_8

然后定义后端block_7_hostsblock_8_hosts在其中添加正确的 redis 服务器。

如果您不打算添加更多 Redis 服务器,那么您可能只想使用配置管理工具,因为您实际上并没有进行负载平衡。

相关内容