Comment atteindre une haute disponibilité avec l'équilibrage de charge nginx
天蓬老师
天蓬老师 2017-06-10 09:49:33
0
2
745

Utilisez nginx pour implémenter un équilibrage de charge simple, la configuration est la suivante


...

http{
    ...
    
    upstream mytomcatscluster{
        #ip_hash 在同一台服务器部署了2个tomcat,使用不同的端口
        server 127.0.0.1:8080 weight=2;
        server 127.0.0.1:8180 weight=1;
    }
    
    ...
    
    server{
        ...
        
        # 将所有后端请求分发到我定义的集群服务器上
        location /service/fen/{
            proxy_pass http://mytomcatscluster;
        }
        
        ...
    }
}

...

Le problème actuel est le suivant : si les deux Tomcats sont normaux, nginx peut distribuer normalement les requêtes au serveur spécifié. En utilisant le sondage, le poids peut également fonctionner, mais si j'éteins l'un des Tomcats, alors la requête sera bloquée car il y a. Les requêtes seront-elles distribuées par nginx au serveur défaillant ? Comment gérer cette situation ? Ngxin a-t-il une stratégie de solution correspondante ? Existe-t-il un moyen pour nginx de surveiller l'état d'exécution des serveurs de cluster ? Comment configurer ?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

répondre à tous(2)
仅有的幸福

upstream a deux paramètres max_fails et fail_timeout. Si un certain serveur a des échecs de connexion max_fails dans le délai fail_timeout, alors Nginx pensera qu'il a raccroché et ne le demandera pas pendant le délai fail_timeout.
fail_timeout est par défaut de 10 s, max_fails est par défaut de 1.

De plus, il existe un module tiers nginx_upstream_check_module spécialement utilisé pour détecter la santé du serveur backend
.
yaoweibin/nginx_upstream_check_module : vérifications de l'état en amont pour nginx

https://github.com/yaoweibin/...

过去多啦不再A梦

Pas besoin d'utiliser ip_hash pour stocker la session dans redis

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal