Balanceamento de carga HAProxy baseado no IP de origem (sub-rede IP)

2

Eu tenho x cluster. Este cluster parece com

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> 

Atualmente estou gerenciando a configuração do grupo de clusters no código. É possível ter um domínio chamado como usando haproxy E que redirecionar exigem com base no IP de origem? Por exemplo

192.167.* request gets redirect to 192.167.3.1

e

192.168.* request gets redirect to 192.168.3.1
    
por Vivek Goel 25.04.2013 / 10:28

1 resposta

7

Isso é possível com ACLs HAProxy . Você precisa configurar 2 back-ends, um para cada bloco e, em seguida, no frontend criar 2 acls, um para cada back-end.

Seu bloco de front-ends seria parecido com este

   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

Em seguida, defina um backends block_7_hosts e block_8_hosts com o servidor redis correto.

Se você não planeja adicionar mais servidores Redis, talvez você queira apenas usar uma ferramenta de gerenciamento de configuração, já que não é realmente um balanceamento de carga.

    
por 25.04.2013 / 16:31