Yanıtlar:
İstediğiniz aktif + pasif kurulum. İşte size bir örnek nginx conf snippet'i:
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 http://backend;
}
}
Dolayısıyla, 'normal' olarak, tüm istekler ana bilgisayar 1.2.3.4'e gider. Bu kutuda üç hata alırsak, 4.5.6.7 devreye girer.
Nginx'te yük dengeleme çok kolaydır, sunucu adlarını yük dengeleme için sunucu listesi yazdığımız yukarı akış kapsamında yapılandırırız.
nginx varsayılan olarak yük dengeleme için farklı algoritmayı destekler yuvarlak robine, ancak ip_hash gibi farklı anahtarlarla yapılandırıyoruz ...
http{
upstream servername{
ip_hash//for sticky hash
least_conn//FOR least connection
sever localhost:1001;
sever localhost:1002;
sever localhost:1003;
}
Chrskly'nin cevabını genişleterek 3 bayrak / yapılandırma yapılandırmak isteyebilirsiniz.
Aşağıdaki GRPC örneğinde, ana sunucu 7 saniye içinde bağlanamazsa, yedeklemeye geçin ve ana sunucuyu 6000 saniye kapalı olarak işaretleyin:
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
}