Назад | Перейти на главную страницу

Балансировка нагрузки HAProxy на основе IP-адреса источника (IP-подсеть)

У меня 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

Это возможно с ACL HAProxy. Вам нужно настроить 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_hosts и block_8_hosts с правильным сервером Redis в них.

Если вы не планируете добавлять больше серверов Redis, вы можете просто использовать инструмент управления конфигурацией, поскольку на самом деле вы не выполняете балансировку нагрузки.