您好,登錄后才能下訂單哦!
下文給大家帶來nginx的負載均衡支持哪幾種機制,希望能夠給大家在實際運用中帶來一定的幫助,負載均衡涉及的東西比較多,理論也不多,網上有很多書籍,今天我們就用億速云在行業內累計的經驗來做一個解答。
nginx支持下面幾種負載均衡機制:
round-robin:輪詢。以輪詢方式將請求分配到不同云服務器上
least-connected:最少連接數。將下一個請求分配到連接數最少的那臺服務器上
ip-hash :基于客戶端的IP地址。散列函數被用于確定下一個請求分配到哪臺服務器上
負載均衡默認配置
nginx負載均衡最簡單的配置如下:
http {
upstream myapp1 {
server srv1.example.com;
server srv2.example.com;
server srv3.example.com;
}
server {
listen 80;
location / {
proxy_pass http://myapp1;
}
}
}
在上面的例子中,srv1,srv2,srv3運行著相同的應用程序。如果沒有特別指定負載均衡方法默認是以輪詢方式。所有的請求被代理到服務組myapp1,然后nginx負載均衡的分發請求。
nginx反向代理實現包括下面這些負載均衡HTTP、HTTPS、FastCGI、uwsgi,SCGI和memcached。
要配置HTTPS的負載均衡,只需使用“https”開頭的協議。
當要設置FastCGI,uwsgi,SCGI,或者memcached的負載平衡,分別使用fastcgi_pass,uwsgi_pass,scgi_pass和memcached_pass指令。
以輪詢或最少連接的負載均衡算法,每個后續的客戶端的請求,可以潛在地分配給不同的服務器上,并不能保證相同的客戶端請求將總是指向同一服務器上。
這對于有會話信息的應用場景下,會有問題的。一般的做法是需要將session信息共享,如使用memcache來存放session。
如果將客戶端的會話“粘性”或總是試圖選擇一個特定的服務器,也是可以的。負載均衡的ip-hash機制就可以實現。
配置如下:
upstream myapp1 {
ip_hash;
server srv1.example.com;
server srv2.example.com;
server srv3.example.com;
}
upstream myapp1 {
server srv1.example.com weight=3;
server srv2.example.com;
server srv3.example.com;
}
這種情況下,每5個新的請求將被分布如下:3請求將被引導到SRV1,一個請求將去SRV2,另一個請求去srv3。
看了以上關于nginx的負載均衡支持哪幾種機制,如果大家還有什么地方需要了解的可以在億速云行業資訊里查找自己感興趣的或者找我們的專業技術工程師解答的,億速云技術工程師在行業內擁有十幾年的經驗了。億速云官網鏈接www.mlszssj.com
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。