tolérance à la faute nginx Sans équilibrage de la charge

J'ai des problèmes avec la définition nginx.

j'utilise nignx comme proxy inverse. Je veux envoyer toutes mes demandes à mon premier serveur. Si le premier serveur ne fonctionne pas, je souhaite envoyer des demandes au deuxième serveur.

En bref, comment puis-je obtenir une solution tolérante de panne sans équilibrage de charge?
Invité:

Christine

Confirmation de:

Vous avez besoin d'actif + Installation passive. Voici un exemple de fragment nginx conf, Qui vous aidera à commencer:

upstream backend {
server 1.2.3.4:80 fail_timeout=5s max_fails=3;
server 4.5.6.7:80 backup;
}

server {
listen 80;
server_name whatevs.com;

location / {
proxy_pass [url=http://backend;]http://backend;[/url]
}
}

Donc, "Habituellement" toutes les demandes seront envoyées à l'hôte 1.2.3.4. Si nous obtenons trois erreurs dans ce bloc, alors 4.5.6.7 entrera en vigueur.

Agathe

Confirmation de:

Élargir la réponse chrskly, Vous pouvez configurer 3 Drapeau / Configuration.

fail_timeout

: Temps total pour des tentatives infructueuses, ainsi que marquer le serveur comme DOWN Pour le même temps. Si un 5 s va essayer

max_fail

Tentative de 5 secondes et si vous n'avez toujours pas réussi à marquer ce serveur comment 5 Secondes

max_fail

: Nombre maximum de tentatives

proxy_connect_timeout

: Temps d'attente de connexion.

Dans l'exemple suivant GRPC, Si le serveur principal ne peut pas être connecté à l'intérieur 7 Secondes, passez à la sauvegarde et marquez le serveur principal comme non fonctionnel sur 6000 Secondes:

upstream grpcservers {
server 192.168.0.XX:9997 fail_timeout=6000s max_fails=1; # After 1 fail in 6000s, Main server is marked unavailable for 6000s.
server 192.168.0.XX:9999 backup;
}
location / {
grpc_pass grpc://grpcservers;
grpc_connect_timeout 7s; # If conn cant be made in 7sec, switch to backup
}

Blanche

Confirmation de:

Équilibrage de charge B. nginx Très simple: nous configurons simplement des noms de serveurs dans la liaison montante, où nous écrivons une liste de serveurs pour équilibrer la charge.

nginx Prend en charge un autre algorithme d'équilibrage de la charge, par défaut, il s'agit d'un algorithme cyclique, mais nous l'avons mis avec d'autres clés, telles que ip_hash ...

http{
upstream servername{
ip_hash//for sticky hash
least_conn//FOR least connection
sever localhost:1001;
sever localhost:1002;
sever localhost:1003;
}

Pour répondre aux questions, connectez-vous ou registre