透過upstream設定多台服務的負載平衡
以一個網頁的request內用到多個連線 當範例
1.預設
所有的連線輪詢分配到各主機上
2.least_conn
將連線給目前連線數最少的主機
2.iphash
以ip辨識同個ip的request都會進同一台主機
當其中有主機出問題無法服務
會透過以下兩個設定判斷 是否把該台主機排除在負載平衡外
1.fails_timeout:
當失敗連線間隔這個設定的秒數後, 新進來的連線
還是會對這台主機進行retry連線
2.max_fails:
當retry失敗次數達到這個設定最大值
還無法連線 這台機器就會背排除
以下的範例設定是
當連線失敗10s後 再接到的request會再連線這台主機
當retry達到5次後 還無法連線 這台主機就會被剔除
直到nginx 重啟
upstream myapp {
#iphash;
#least_conn;
server 127.0.0.1:3000 max_fails=5 fails_timeout=10s;
server 127.0.0.1:3001 max_fails=5 fails_timeout=10s;
}
沒有留言:
張貼留言