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
la source
Réponses:
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].
la source
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
la source
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)
la source
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.
la source
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 :(
la source
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
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).
la source
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 .
la source
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.
la source
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.
la source
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
la source
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.
la source
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.
la source
Avez-vous regardé perlbal?
www.danga.com/perlbal/
la source
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é
la source