Haproxy% traffic para um cluster

5

Eu tenho uma página da web que funciona em um servidor. Estamos em andamento para migrar para uma nova plataforma que possui 3 servidores.

Na primeira etapa do plano de migração, precisamos passar um percentual, digamos 10%, para o novo cluster e 90% para o servidor antigo. A nova plataforma não precisa ter sessões fixas (compartilha as sessões com o memcached).

Existe uma maneira de fazer isso com o haproxy?

    
por David Sedeño 04.07.2013 / 17:30

3 respostas

6

Isso pode ser obtido com o haproxy se conectando a si mesmo, oferecendo duas camadas de balanceamento de carga.

O primeiro listen usa a opção balance source e os pesos do servidor para dividir o tráfego entre o servidor existente e o cluster. A segunda camada usa balance roundrobin sem persistência para rotacionar a conexão de entrada entre os membros do cluster.

Listen 10.0.1.1:80
    Balance source
    Server oldserver 10.0.1.10 weight 90
    Server newcluster 10.0.1.20 weight 10

Listen 10.0.1.20:80
    Balance roundrobin
    Server cluster1 10.0.1.31
    Server cluster2 10.0.1.32
    Server cluster3 10.0.1.33
    
por 04.07.2013 / 20:19
0

Você define pesos em haproxy para distribuir a carga de acordo com suas necessidades.

Da documentação oficial do haproxy 1.4:

weight <weight>
  The "weight" parameter is used to adjust the server's weight relative to
  other servers. All servers will receive a load proportional to their weight
  relative to the sum of all weights, so the higher the weight, the higher the
  load. The default weight is 1, and the maximal value is 256. A value of 0
  means the server will not participate in load-balancing but will still accept
  persistent connections. If this parameter is used to distribute the load
  according to server's capacity, it is recommended to start with values which
  can both grow and shrink, for instance between 10 and 100 to leave enough
  room above and below for later adjustments.
    
por 04.07.2013 / 17:37
0

Use peso na seção do servidor haproxy. "O peso 1 representa a frequência mais baixa e 256 o mais alto"

server newserver1 192.168.1.1:80 weight 3
server newserver2 192.168.1.2:80 weight 3
server newserver3 192.168.1.3:80 weight 3
server oldserver1 192.168.2.1:80 weight 90
    
por 04.07.2013 / 17:38

Tags