Maison > Tutoriel système > Linux > Haproxy sur Ubuntu: équilibrage de charge et basculement pour les infrastructures résilientes

Haproxy sur Ubuntu: équilibrage de charge et basculement pour les infrastructures résilientes

Joseph Gordon-Levitt
Libérer: 2025-03-05 09:06:11
original
611 Les gens l'ont consulté

HAProxy on Ubuntu: Load Balancing and Failover for Resilient Infrastructure

Introduction

dans l'environnement numérique au rythme rapide d'aujourd'hui, assurer la disponibilité et les performances des applications est essentielle. L'infrastructure moderne nécessite des solutions puissantes pour allouer efficacement le trafic, en maintenant la disponibilité des services même en cas de défaillance du serveur. haproxy En tant que norme réelle pour l'équilibrage et le basculement de la charge haute performance, il a vu le jour.

Cet article explore la synergie entre Haproxy et Ubuntu, l'une des distributions Linux les plus populaires. De l'installation à la configuration avancée, nous allons plonger dans la façon dont Haproxy peut transformer votre infrastructure avec les capacités d'équilibrage et de basculement de charge.

Explication détaillée de l'équilibrage de la charge

L'équilibrage de charge est le processus d'allocation du trafic réseau entrant vers plusieurs serveurs. En équilibrant la charge, il garantit qu'aucun serveur unique n'est dépassé, améliorant ainsi les performances, la fiabilité et la tolérance aux pannes.

Avantages principaux:

  • Évolutivité: Formation du trafic croissant en ajoutant plus de serveurs.
  • Fiabilité: Facile l'impact de la défaillance du serveur en achetant le trafic vers un serveur normal.
  • Performances: Réduire la latence en distribuant uniformément les charges de travail.

Type d'équilibrage de charge:

  • Couche 4 (couche de transport): Distribuez le trafic en fonction des informations IP et du port.
  • Couche 7 (couche d'application): prendre des décisions de routage basées sur des données au niveau de l'application (telles que les en-têtes HTTP).

Concept de basculement

Le basculement garantit la continuité en redirigeant automatiquement le trafic vers des ressources de sauvegarde en cas de défaillance majeure des ressources. C'est la pierre angulaire de la configuration Haute disponibilité (ha) .

Avec haproxy, le basculement est transparent:

  • Si le serveur backend n'est pas disponible, Haproxy le détectera par le biais d'un contrôle de santé.
  • Le trafic sera redirigé vers d'autres serveurs disponibles, conservant ainsi un service ininterrompu.

Réglez Haproxy sur Ubuntu

Commençons par installer et configurer Haproxy sur Ubuntu.

Prérequis:

  • un serveur Ubuntu (recommandé d'utiliser 20,04 ou plus).
  • Plusieurs serveurs backend pour tester l'équilibrage de la charge.
  • Compétences de base de la ligne de commande Linux.

Étape 1: Installez Haproxy

  1. Mettez à jour votre système: sudo apt update && sudo apt upgrade -y
  2. Installation de Haproxy: sudo apt install haproxy -y
  3. Vérifiez l'installation: haproxy -v

Étape 2: Configurez Haproxy Modifier /etc/haproxy/haproxy.cfg Fichier de configuration:

<code>global
    log /dev/log local0
    log /dev/log local1 notice
    maxconn 2048
    daemon
defaults
    log global
    option httplog
    option dontlognull
    timeout connect 5000ms
    timeout client 50000ms
    timeout server 50000ms
frontend http_front
    bind *:80
    default_backend http_back
backend http_back
    balance roundrobin
    server server1 192.168.1.101:80 check
    server server2 192.168.1.102:80 check</code>
Copier après la connexion
  1. redémarrer haproxy pour appliquer les modifications: sudo systemctl restart haproxy
  2. Testez en accédant à l'adresse IP du serveur. Haproxy allouera les demandes entre les backends.

Configuration avancée

Algorithme d'équilibrage de charge:

  • Sondage: Allouer séquentiellement les demandes.
  • Nombre de connexions: acheminée vers le serveur avec les connexions les moins actives.
  • Source: Assurez-vous que le client est toujours acheminé vers le même serveur.

Mettez à jour la directive balance dans le backend en conséquence.

Vérification de la santé: La vérification de la santé garantit que le trafic est envoyé uniquement aux serveurs normaux. check L'instruction effectue des contrôles de santé réguliers.

terminaison SSL: pour protéger le trafic, configurez Haproxy pour gérer la terminaison SSL.

  1. Obtenez le certificat SSL.
  2. Mettre à jour la configuration pour utiliser https: frontend https_front bind *:443 ssl crt /etc/haproxy/certs/example.pem default_backend http_back

Liste des contrôles d'accès (ACL): Filtrez le trafic à l'aide de l'ACL:

<code>frontend http_front
    acl is_api path_beg /api
    use_backend api_back if is_api</code>
Copier après la connexion

Activer la haute disponibilité

VRRP avec Keepalived: pour activer le basculement, intégrez Keepalived avec Haproxy.

  1. Installation de Keepalived: sudo apt install keepalived -y
  2. Configuration Keepalived (/etc/keepalived/keepalived.conf):
<code>vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass mypassword
    }
    virtual_ipaddress {
        192.168.1.100
    }
}</code>
Copier après la connexion
  1. redémarrer Keepalived: sudo systemctl restart keepalived

Keepalived garantit que le serveur secondaire prend le contrôle de manière transparente lorsque le serveur principal échoue.

Suivi et réglage des performances

HAPROXY STATISTIQUES PANNEL: Activer le panneau pour une surveillance en temps réel:

<code>listen stats
    bind *:8404
    stats enable
    stats uri /stats
    stats auth admin:password</code>
Copier après la connexion

Accédez à lui dans http://<server-ip>:8404/stats</server-ip>.

Compétences d'optimisation:

  • Ajustez les paramètres maxconn et timeout.
  • Utilisez la compression GZIP pour le trafic HTTP.
  • Surveiller les exceptions dans le journal.

Cas d'utilisateurs et scénarios réels

  • Microservices: Attribuez des demandes d'API à plusieurs services.
  • Application Web: Gérer les pointes de trafic en étendant les serveurs backend.
  • Équilibrage de charge de la base de données: Optimiser les opérations de lecture et d'écriture.

Dépannage des FAQ

Problème de connexion:

  • Vérifiez les règles du pare-feu.
  • Vérifiez la vérification de la santé du serveur.

goulot d'étranglement des performances:

  • Ajouter l'ulimit du descripteur de fichier.
  • Optimiser la configuration du serveur backend.

Maintenance:

  • Configuration de la sauvegarde toujours.
  • Appliquer des mises à jour pendant le faible trafic.

Conclusion

En combinant Haproxy et Ubuntu, vous obtenez une combinaison puissante pour gérer le trafic et assurer la disponibilité. Avec les étapes ci-dessus, vous pouvez créer une infrastructure résiliente qui peut gérer des charges élevées et des défaillances de serveurs.

Commencez à essayer Haproxy maintenant et débloquez le plein potentiel des capacités du système Ubuntu.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal