Comment configurer l'équilibrage de charge logiciel (tel que HAProxy) sous Linux
Introduction :
Dans les applications Internet modernes, la haute disponibilité et les performances sont cruciales. Pour atteindre l'évolutivité et la tolérance aux pannes, un équilibreur de charge est souvent utilisé pour distribuer le trafic réseau sur plusieurs serveurs. Cet article explique comment configurer l'équilibrage de charge logicielle sous Linux, en prenant HAProxy comme exemple, et fournit des exemples de code.
1. Installez et configurez HAProxy
Tout d'abord, nous devons installer le logiciel HAProxy. Sur Ubuntu, vous pouvez l'installer avec la commande suivante :
sudo apt-get install haproxy
Après l'installation, nous devons configurer HAProxy. Ouvrez le fichier de configuration /etc/haproxy/haproxy.cfg et utilisez un éditeur de texte pour le modifier.
sudo vi /etc/haproxy/haproxy.cfg
Dans le fichier de configuration, nous devons configurer l'écouteur et le serveur backend. Voici le contenu d'un exemple de fichier de configuration :
global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy stats socket /run/haproxy/admin.sock mode 660 level admin stats timeout 30s maxconn 4096 user haproxy group haproxy daemon defaults log global mode http option httplog option dontlognull timeout connect 5000 timeout client 50000 timeout server 50000 frontend http_front bind *:80 default_backend http_back backend http_back balance roundrobin server web1 192.168.0.101:80 check server web2 192.168.0.102:80 check
Dans la configuration ci-dessus, nous avons mis en place un frontend http écoutant sur le port 80 et distribuons le trafic vers le serveur backend nommé http_back. Grâce à la commande balance, nous pouvons choisir l'algorithme d'équilibrage de charge, tel que roundrobin, leastconn, etc. Dans l'exemple, nous utilisons l'algorithme roundrobin pour la distribution round robin. Parallèlement, nous avons défini deux serveurs backend, respectivement 192.168.0.101:80 et 192.168.0.102:80. La commande check signifie vérifier l’état de santé du serveur backend.
Après avoir terminé la configuration, enregistrez et quittez.
2. Démarrez et surveillez HAProxy
Après avoir terminé la configuration, nous devons démarrer et surveiller le service HAProxy. Utilisez la commande suivante pour démarrer HAProxy :
sudo service haproxy start
Une fois le service démarré, vous pouvez utiliser la commande suivante pour vérifier l'état du service :
sudo service haproxy status
Utilisez la fonction de rapport statistique de HAProxy pour surveiller la répartition du trafic en temps réel. Dans la section globale du fichier de configuration, nous configurons le socket stats et le timeout stats Nous pouvons accéder au rapport statistique via la commande suivante :
sudo socat stdio /run/haproxy/admin.sock
De plus, nous pouvons également y accéder dans le navigateur en accédant à http. ://localhost:1936 pour afficher les rapports statistiques graphiques HAProxy. <code>http://localhost:1936
来查看图形化的HAProxy统计报告。
三、使用HAProxy进行负载均衡
在配置完成并启动HAProxy服务后,我们可以利用负载均衡器来分发流量到多个后端服务器。例如,在本地运行的应用程序监听端口为8080,希望通过HAProxy进行负载均衡。我们可以通过在浏览器中访问http://localhost:80
Une fois la configuration terminée et le service HAProxy démarré, nous pouvons utiliser l'équilibreur de charge pour distribuer le trafic vers plusieurs serveurs backend. Par exemple, une application exécutée localement écoute sur le port 8080 et espère que sa charge sera équilibrée via HAProxy. Nous pouvons accéder à l'application en visitant http://localhost:80
dans le navigateur.
Dans cette configuration, HAProxy regroupera et transmettra les demandes de trafic à l'application sur le serveur backend selon l'algorithme d'équilibrage de charge sélectionné.
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!