recherche

Maison  >  Questions et réponses  >  le corps du texte

Comment atteindre une haute disponibilité avec l'équilibrage de charge nginx

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 ?

天蓬老师天蓬老师2758 Il y a quelques jours777

répondre à tous(2)je répondrai

  • 仅有的幸福

    仅有的幸福2017-06-10 09:51:33

    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/...

    répondre
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-10 09:51:33

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

    répondre
    0
  • Annulerrépondre