Bagaimana untuk mencapai ketersediaan tinggi dengan pengimbangan beban nginx
天蓬老师
天蓬老师 2017-06-10 09:49:33
0
2
770

Gunakan nginx untuk melaksanakan pengimbangan beban mudah, konfigurasi adalah seperti berikut


...

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;
        }
        
        ...
    }
}

...

Masalah semasa ialah: jika kedua-dua kucing jantan adalah normal, nginx boleh mengedarkan permintaan ke pelayan yang ditentukan secara normal Menggunakan undian, berat juga boleh berfungsi, tetapi jika saya mematikan salah satu kucing jantan, maka Permintaan akan tersekat kerana ada. akan menjadi permintaan yang diedarkan oleh nginx kepada pelayan yang gagal Bagaimana untuk menangani situasi ini Adakah ngxin mempunyai strategi penyelesaian yang sepadan? Adakah terdapat cara untuk nginx memantau status berjalan pelayan kluster? Bagaimana untuk mengkonfigurasi?

天蓬老师
天蓬老师

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

membalas semua(2)
仅有的幸福

upstream mempunyai dua parameter max_fails dan fail_timeout Jika pelayan tertentu mengalami kegagalan sambungan max_fails dalam masa fail_timeout, maka Nginx akan berfikir bahawa ia telah menutup dan tidak akan memintanya semasa masa fail_timeout.
fail_timeout lalai kepada 10s, max_fails lalai kepada 1.

Selain itu, terdapat modul pihak ketiga nginx_upstream_check_module yang digunakan khas untuk mengesan kesihatan pelayan bahagian belakang
.
yaoweibin/nginx_upstream_check_module: Pemeriksaan kesihatan di hulu untuk nginx

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

过去多啦不再A梦

Tidak perlu menggunakan ip_hash untuk menyimpan sesi dalam redis

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan