5 Résumé des problèmes d'utilisation de Nginx

1. basculement Nginx

Basculement: dans la configuration d'équilibrage de charge nginx, si la demande transmise à un serveur échoue, nginx la transmet automatiquement à un autre serveur et réessaye. Le basculement dépend du type de demande et les demandes GET sont automatiquement transmises et réessayées. Les demandes telles que POST et PUT ne seront pas transmises si elles ont été envoyées à un serveur et sont traitées de manière anormale; si le serveur ne peut pas être connecté à, nginx les transmettra à d'autres serveurs pour traitement. Donc, n'utilisez pas la demande GET pour insérer et mettre à jour des affaires, sinon il y aura des problèmes.

http { 
    #application 
    cluster load balancing upstream com.zhujn.hot {#two 
        tomcat, weight: weight 
        server 192.168.1.100:8081 weight = 3; 
        server 192.168.1.101:8081 weight = 2; 
    } 

    server { #virtual server, default Port: 80 
        10s proxy_read_timeout, 
        délai d' attente d'erreur de proxy_next_upstream; état # basculement 
        proxy_next_upstream_tries 3, n retries, afin d' éviter un grand infini de cluster retries 
        proxy_next_upstream_timeout 60; # nouvelle tentative la plus longue 

        LIEU / { 
            # proxy inverse, le point d' équilibrage de charge Nom de la configuration 
            proxy_pass http://com.zhujn.hot 
        } 
    } 
}    

2. Avalanche

Dans un scénario à concurrence élevée avec équilibrage de charge entre plusieurs serveurs, en raison des caractéristiques du basculement nginx, en supposant que 3000 des 10000 requêtes d'un certain serveur n'ont pas pu être traitées, nginx divisera ces 3000 requêtes vers d'autres serveurs. En arrêtant les autres serveurs, nginx transmettra la demande sur la machine problématique aux serveurs restants, ce qui provoquera un effet boule de neige et provoquera le plantage de l'ensemble du cluster.

Solution: ajoutez un mécanisme de fusible et configurez comme suit.

com.zhujn.hot en amont { 
        serveur 
        #max_fails 192.168.1.100:8081 max_fails = 10 fail_timeout = 60s; 
        serveur 192.168.1.101:8081 max_fails = 10 fail_timeout = 60s; 
    }

 

Je suppose que tu aimes

Origine www.cnblogs.com/jvStarBlog/p/12702004.html
conseillé
Classement