Options d'équilibrage de charge [fermé]


25

J'examine un certain nombre d'options possibles pour l'équilibrage de charge.

Jusqu'à présent, je suis limité aux options suivantes:

  • Équilibreur de charge de serveur DNS, équilibré sur un cluster de serveurs tomcat, avec de la terre cuite pour la réplication de session. Avantages - pas besoin d'acheter un nouveau kit. Inconvénients - DNS lb peut continuer à diriger vers un serveur cassé.

  • Équilibreur de charge matériel, directement sur le cluster de serveurs tomcat. Pour - pourrait avoir une deuxième case pour le basculement lb. Contre - dépenses.

  • Équilibreur de charge du serveur Apache. Avantages - Les sondages lb d'Apache pour les serveurs cassés. Inconvénients - le serveur Apache est un point de défaillance unique, plus le besoin d'acheter un autre serveur.

Y a-t-il d'autres options à considérer?

Merci.

Mise à jour: Merci pour toutes les réponses jusqu'à présent + 1 tout autour. N'acceptant pas encore de réponse, pour continuer à proposer d'autres idées


Quelle plateforme OS?
spoulson

Pour les équilibreurs de charge S / W, ce sera Linux
boîte à outils

Les fenêtres intégrées à l'équilibrage de charge du réseau ne sont pas mauvaises non plus pour l'équilibrage de charge à bas prix. Mais personnellement, je dirais que si cela vous vaut de l'argent, achetez un F5.
sclarson

Si vous ne faites pas de terre cuite, de quel type d'affinité de session avez-vous besoin? Basé sur les cookies, basé sur l'en-tête, IP?
sh-beta

@ sh-beta - Je suppose que cela dépend de la mise en œuvre?
boîte à outils

Réponses:


7

je n'irais pas pour lb basé sur DNS - exactement pour la raison que vous énumérez.

nginx ou vernis peut être votre autre option lb / fail-over qui se trouve devant les applications et agit comme proxy inverse. ils nécessitent plus de soins que la boîte de matériel, mais vous feront économiser beaucoup d'argent. assurez-vous de placer ces équilibreurs dans un cluster également [actif-passif avec battement de cœur fera l'affaire].


11

Si vous cherchez des appliances d'équilibrage de charge, vous ne pouvez vraiment pas vous tromper avec F5 Big-IP

edit: La raison pour laquelle je dis d'aller avec Big-IP est parce que c'est une bonne appliance pour les administrateurs de serveur qui n'ont pas beaucoup d'expérience avec les appliances réseau. Il a une belle interface Web avec des options presque illimitées pour la configuration et les rapports. Ils sont les plus fiables et les moins chers de toutes les options d'équilibrage de charge "entreprise".

Voici un lien vers une étude sur les options de livraison d'applications en 2007: Résultats Gartner


1
J'aime les F5 Big-IP. Il est également idéal pour gérer l'accélération SSL afin que les serveurs Web puissent simplement traiter avec HTTP simple.
Chris W. Rea,

Je serais d'accord, même si vous exécutez une grande opération, il est préférable de rester à l'écart des dernières mises à jour que je trouve.
mryan1

Nous exécutons une grande organisation sur eux, je ne suis pas vraiment sûr de savoir quelles dernières mises à jour ont à voir avec l'utilisation de F5.
sclarson

+1 pour les Big-IP. Ils font tout simplement du travail. Lorsque vous mettez quelque chose entre vos utilisateurs et vos serveurs, il doit être à l'épreuve des balles.
Brent Ozar

6

Je suggère d'utiliser HAProxy . C'est extrêmement rapide. Et vous pouvez également échapper au point de défaillance unique en utilisant deux équilibreurs de charge avec CARP (* BSD) ou UCARP / LVS (Linux)


4

Nous utilisons des égaliseurs de point Coyote (équilibreurs de charge matériels) depuis des années et nous en sommes très satisfaits. Ils n'ont peut-être pas toutes les fonctionnalités d'un F5, mais ils ont encore beaucoup de fonctionnalités et ils coûtent beaucoup moins cher. Les performances et la fiabilité ont toutes deux été excellentes.


+1 pour cela. Nous avons aussi une paire de coyotes ici, ils sont en opération depuis plusieurs années et continuent de fredonner.
Seth

3

J'ai tendance à opter pour les LB matériels, car ils peuvent souvent gérer une grande quantité de trafic, sont souvent `` plus simples '', donc plus capables d'être renforcés mieux / plus facilement et peuvent parfois également gérer d'autres problèmes de sécurité comme les attaques SYN-flood dans le matériel. J'utilise Foundry mais il y a beaucoup de choix (F5, Cisco, etc.) - cher cependant :(


1

Cisco GSS (Global Site Selector) est un serveur DNS qui effectue également des vérifications de l'état. Cela va évidemment être une option plus coûteuse qu'un serveur DNS standard. Page Web avec plus de détails ici: http://www.cisco.com/en/US/products/hw/contnetw/ps4162/index.html

F5 has similar offerings:  http://www.f5.com/products/ 
Cisco ACE product page: http://www.cisco.com/en/US/products/ps8361/index.html

Comme Chopper3 l'a mentionné, l'équilibrage de charge basé sur le matériel offrira probablement de meilleures performances, mais vous en paierez le prix.

Les fonctionnalités que vous pouvez rechercher sont: le déchargement SSL, la prise en charge de VLAN, les contextes, le clustering, la prise en charge des protocoles de routage et la prise en charge / interaction avec différentes applications (par exemple, cookies html et modification d'en-tête).


1

Avez-vous regardé ldirectord ?

Il s'exécute sur Linux, peut fonctionner avec pulsation sur les mêmes machines qu'il est l'équilibrage de charge (et donc avoir une certaine redondance intégrée) - ou bien sûr, sur sa propre boîte en face d'eux, est facile à configurer, léger et très capable .


1

J'ai trouvé que le carrefour était un excellent équilibreur de charge. Il a géré notre charge de production pendant sept bons mois pendant que les gars du réseau réglaient un problème matériel avec un équilibreur de charge Cisco.


0

J'ai écrit un équilibreur de charge basé sur un logiciel qui ne nécessite pas de machine distincte.

L'inconvénient est qu'il n'est pas vraiment prêt pour la production - mais si vous voulez le tester sur votre réseau de test, je serais heureux.

La grappe moelleuse est là

Il est fondamentalement superficiellement similaire au NLB de Microsoft (je pense) - même si je n'ai pas leur source et je ne sais pas exactement comment fonctionne la leur.

Bien sûr, nous ne surveillons pas automatiquement la couche application, mais vous pouvez écrire quelque chose qui fait cela et modifie les pondérations ou supprime les nœuds en conséquence.

EDIT: Vous n'avez pas dit quel OS, le cluster Fluffy est uniquement Linux pour le moment.


Ça a l'air cool. J'aimerais utiliser ClusterIP mais il n'est pas prêt pour la production et il y a trop de pièges. Envisagez-vous de préparer le cluster Fluffy pour la production?
diq

S'il y a un intérêt, je le ferai. Il y a relativement peu de travail requis pour une version à capacité limitée.
MarkR

0

keepalived est un autre équilibreur de charge Linux, qui prend en charge plusieurs algorithmes d'équilibrage de charge (évidemment) et VRRP pour créer des instances redondantes avec basculement automatique lorsqu'une boîte d'équilibrage de charge tombe en panne


0

Si l'argent n'est pas un problème, procurez-vous un équilibreur de charge matériel.

La société pour laquelle je travaille utilise Apache pour gérer nos serveurs Tomcat et l'équilibreur de charge se trouve sur la même boîte que certains tomates (les tomates utilisent des ports internes). Nous passerons bientôt à une boîte d'équilibrage de charge dédiée. Nous allons bientôt passer à Nginx, je trouve la configuration plus facile et le tout beaucoup plus léger qu'Apache. Selon votre architecture réseau, je vous conseillerais également d'utiliser une "IP flottante" interne pour l'équilibreur de charge, et d'exécuter quelque chose comme Heartbeat pour basculer l'IP vers une autre boîte si nécessaire. Cela ajouterait des capacités de basculement sans se soucier des problèmes de propagation DNS.


0

J'ai mis en place une solution avec DNSMadeEasy . Ils ont un bon screencast concernant le basculement DNS. Ils ont des prix raisonnables. Dans notre système, nous avons implémenté un service simple qui "envoie un ping" aux différents composants de notre système (base de données, file d'attente JMS, connexion S3) et renvoie OK que DNSMadeEasy peut utiliser. Chaque fois qu'une exception survient, DNSMadeEasy supprime ce serveur de la liste des serveurs qui répond à cette recherche DNS.


0

Avez-vous regardé perlbal?

www.danga.com/perlbal/


0

Salut @toolkit avez-vous déjà implémenté NGinX / Varnish dans votre quête LoadBalancer (LB)? si oui, quels ont été vos résultats? (si cela ne vous dérange pas de partager avec le reste d'entre nous ;-)

Juste pour résumer ce qui précède (et ajouter une mention pour ZMQ)

Équilibrage de charge de base

Plus avancé

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.