web-dev-qa-db-fra.com

Comment configurer Haproxy avec un basculement?

Je comprends que, pour obtenir un basculement sur une configuration d'équilibrage de la charge Haproxy, vous avez besoin de deux machines exécutant HAPROXY (et de l'acheminer dans plusieurs instances WebServer). Mais dans ce cas, dites ABCD.com, comment sommes-nous divisés/acheminez ce trafic vers 2 adresses IP au lieu d'une? DNS résout généralement les noms de domaine à une seule adresse IP. Comment faites-nous cela dans l'utilisation d'outils/services gratuits/bon marché?

15
mixdev

Si vous avez tellement de charges que vous devez charger la balance des deux cas haproxy, le tour de Round ROBIN n'est pas une mauvaise idée (je serais surpris si vous avez cette charge). DNS Round Robin ne fournira pas de bon basculement cependant.

Au débordement de pile, nous utilisons heartbeat pour fournir une seule adresse électronique virtuelle, cette adresse IP est active sur un seul hôte haproxy à la fois (si elle diminue, l'autre reprend cette adresse IP). Vous pouvez utiliser le battement de coeur pour avoir une adresse IP sur chaque machine, puis DNS rond robin entre les deux. Si l'on manquait d'échouer, l'autre aurait tous deux ces deux ips.

Haproxy utilise environ 1 à 5% de CPU sur notre serveur physique pour équilibrer notre trafic qui possède une seule fonction Intel(R) Xeon(R) CPU E5504 @ 2.00GHz. Donc, Haproxy peut généralement gérer beaucoup de trafic facilement.

21
Kyle Brandt

Comme le dit Kyle, Heartbeat Peut être utilisé pour que deux serveurs haproxy agissent comme une paire de défaillance. Cependant, bien que beaucoup de gens utilisent Heartbeat Pour le travail, Keepalived suggère par l'auteur de Haproxy.

Il décrit les détails de la liste de diffusion haproxy: http://www.formilux.org/archives/haproxy/1003/3259.html

En bref, ça va comme ça:

  • le battement de coeur est orienté en grappes. Cela garantit qu'un seul serveur a accès à une ressource (c'est-à-dire SAN Stockage)

  • keepalived est orienté réseau. Il garantit que au moins un serveur ait la propriété intellectuelle en question.

25
Coops