Load balancing dans un cluster actif actif

Load balancing dans un cluster actif actif

Montée en charge et haute disponibilité d'une application critique

Le logiciel SafeKit permet de réaliser une architecture en load balancing dans un cluster actif-actif de type ferme. Le load balancing SafeKit fournit une solution simple à la montée en charge et à la haute disponibilité d'applications critiques.

Dans un cluster actif-actif avec load balancing, la même application s'exécute sur chacun des serveurs et la charge est distribuée par répartition de l'activité réseau sur les différents serveurs de la ferme. Le load balancing est adaptée aux applications frontales comme des services web.

Le logiciel SafeKit ne nécessite pas de serveurs dédiés au load balancing et il économise les coûts liés aux load balancers réseau.

Load balancing dans un cluster actif-actif

Le load balancing réseau est très efficacement mis en œuvre par un driver réseau qui filtre les paquets en entrée. Ce driver fonctionne sur Windows et Linux (même sur les versions Windows pour PCs).

SafeKit fournit un module générique ferme pour Windows et Linux afin construire un cluster avec load balancing. Vous pouvez écrire votre propre module applicatif en partant du module générique ferme de SafeKit. Apache, Microsoft IIS sont des exemples de modules applicatifs de type ferme.

Combiné avec le cluster ferme, vous pouvez aussi mettre en œuvre un cluster miroir avec réplication temps réel et reprise sur panne.

Principe d'une adresse IP virtuelle avec load balancing réseau

L'adresse IP virtuelle est configurée localement sur chaque serveur de la ferme.

Le trafic du réseau à destination de l'adresse IP virtuelle est reçu par l'ensemble des serveurs. Puis ce trafic est distribué entre les serveurs grâce à un filtre chargé dans le noyau du système d'exploitation de chaque serveur.

L'algorithme de load balancing dans le filtre est basé sur l'identité des paquets client (adresse IP client, port TCP client). Suivant l'identité du paquet client en entrée, seul un filtre dans un serveur accepte le paquet ; les autres filtres dans les autres serveurs le rejettent.

Une fois un paquet accepté par le filtre sur un serveur, seuls le CPU et la mémoire de ce serveur sont utilisés par l'application qui répond à la requête du client. Les messages de retour de l'application sont envoyés directement du serveur vers le client.

Lorsqu'un serveur est défaillant, le protocole de gestion du groupe des serveurs en vie reconfigure les filtres pour redistribuer le trafic vers les serveurs disponibles.

Notez qu'une comparaison entre Microsoft NLB et le load balancing réseau de SafeKit est disponible ici. Et notez que le load balancing réseau de Safekit fonctionne non seulement avec Windows (en incluant les versions Windows pour PCs) mais aussi avec Linux.

Critères de load balancing pour les services web à état et sans état

Avec un service à état, il y a affinité de session. Le même client doit être connecté sur le même serveur sur plusieurs sessions HTTP/TCP pour retrouver son contexte sur le serveur. Dans ce cas, la règle de load balancing SafeKit est configurée sur l'adresse IP des clients. Ainsi, le même client est toujours connecté sur le même serveur sur plusieurs sessions TCP. Et différents clients sont répartis sur les différents serveurs de la ferme. Cette configuration est à choisir pour les services web à état lorsqu'il y a affinité de sessions.

Avec un service web sans état, il n'y a pas d'affinité de session. Le même client peut être connecté sur des serveurs différents dans la ferme lors de sessions HTTP/TCP successives. Dans ce cas, la règle de load balancing SafeKit est configurée sur l'identité de la session TCP du client. Cette configuration est celle qui répartit le mieux les sessions entre les serveurs mais elle requiert un service TCP sans affinité de session.

Si vous êtes également intéressé par la réplication de données temps réel et continue dans un cluster actif-passif de type miroir, lisez cet article.

Différenciateurs clés de la solution d'équilibrage de charge et de haute disponibilité avec le cluster ferme d'Evidian SafeKit

Cluster ferme d'Evidian SafeKit avec load balancing et reprise sur panne

Pas de load balancer, ni de serveur proxy dédié, ni d'adresse Ethernet multicast spéciale No load balancer or dedicated proxy servers

Like   La solution ne nécessite pas de load balancer, ni de serveur proxy en amont de la ferme pour implémenter le load balancing. SafeKit est installé directement sur les serveurs applicatifs à load balancer. Le load balancing est basé sur une adresse IP virtuelle/adresse MAC Ethernet standard et fonctionne avec des serveurs physiques et des machines virtuelles sur Windows et Linux sans configuration réseau spéciale

Dislike  Ce n'est pas le cas avec les load balancers réseau

Dislike  Ce n'est pas le cas avec les proxys dédiés sur Linux

Dislike  Ce n'est pas le cas avec une adresse Ethernet multicast spéciale sur Windows

Toutes les fonctionnalités de clustering All clustering features

Like   La solution inclut toutes les fonctionnalités de clustering : adresse IP virtuelle, load balancing sur adresse IP client ou sur sessions, surveillance des pannes de serveurs, surveillance des pannes réseaux, surveillance des pannes logicielles, redémarrage automatique de l'application avec un temps de reprise rapide, une option de réplication avec un module miroir. Une configuration de clustering est simplement réalisée au moyen d'un module de haute disponibilité applicatif. Il n'y a pas de contrôleur de domaine et d'Active Directory à configurer sur Windows. La solution fonctionne sur Windows et Linux

Dislike  Ce n'est pas le cas avec les autres solutions de load balancing. Elles sont capables de réaliser le load balancing mais elle n'inclut pas une solution de clustering complète avec des scripts de redémarrage et un redémarrage automatique de l'application en cas de défaillance. Elles n'offrent pas l'option de réplication

Sites distants Remote sites

Like   Si les serveurs sont connectés au même réseau IP via un réseau local étendu entre des sites distants, l’adresse IP virtuelle de SafeKit fonctionne avec un équilibrage de charge au niveau 2

Like   Si les serveurs sont connectés à des réseaux IP différents entre des sites distants, l'adresse IP virtuelle peut être configurée au niveau d'un load balancer. SafeKit propose un "health check": le load balancer est configuré avec une URL gérée par SafeKit qui renvoie OK sur les serveurs UP et NOT FOUND sinon. Cette solution est implémentée pour SafeKit dans le Cloud mais elle peut être également mise en œuvre avec un load balancer sur site. Ainsi, vous pouvez profiter de toutes les fonctionnalités de clustering de SafeKit, y compris une administration facile du cluster via la console Web de SafeKit

Solution de haute disponibilité uniforme Uniform high availability solution

Like  SafeKit implémente un cluster ferme avec load balancing et reprise sur panne. Mais il implémente aussi un cluster miroir avec réplication et reprise sur panne. Ainsi une architecture N-tiers peut-être rendue hautement disponible et load balancée avec la même solution sur Windows et Linux (même installation, configuration, administration avec la console SafeKit ou avec les commandes en ligne). Ceci est unique sur le marché

Dislike  Ce n'est pas le cas avec une architecture mixant des technologies différentes pour le load balancing, la réplication et la reprise sur panne

Exemples de modules fermes

Cliquez sur le bouton bleu pour accéder à la solution

Modules fermes (partage de charge et reprise sur panne)

Windows

Linux

Module IIS-
Module Apache
Module ferme générique pour n'importe quelle application

FAQ sur Evidian SafeKit

3 démonstrations [+]

Modules de haute disponibilité appicatifs [+]

Solutions Cloud [+]

Clients [+]

Meilleurs cas d'utilisation [+]

Avantages distinctifs [+]

Plus d'information sur le cluster ferme [+]

Webinaire SafeKit [+]

Prix - Essai gratuit [+]