使用Nginx實現(xiàn)負(fù)載均衡的策略
一、nginx簡介
nginx是一個高性能的HTTP服務(wù)器和反向代理服務(wù)器。它起初是俄羅斯人Igor Sysoev開發(fā)的,至今支撐者俄羅斯的很多大型的網(wǎng)站。
二、nginx支持的三種負(fù)載均衡策略
輪詢:將請求依次輪詢發(fā)給每個服務(wù)器。
最少鏈接:將請求發(fā)送給持有最少活動鏈接的服務(wù)器。
ip哈希:通過哈希函數(shù)決定請求發(fā)送給哪個服務(wù)器。
權(quán)重:服務(wù)器的權(quán)重越高,處理請求的概率越大。
三、輪詢負(fù)載均衡
在nginx.conf配置文件中添加如下配置,此配置有三臺服務(wù)器提供支付服務(wù)。
http { upstream CashServers { server CashServers1.com; server CashServers2.com; server CashServers3.com; } server { listen 80; location / { proxy_pass http://CashServers; } } }
需要注意以下幾點
1.缺省配置就是輪詢策略;
2.nginx負(fù)載均衡支持http和https協(xié)議,只需要修改 proxy_pass后協(xié)議即可;
3.nginx支持FastCGI, uwsgi, SCGI,memcached的負(fù)載均衡,只需將 proxy_pass改為fastcgi_pass, uwsgi_pass, scgi_pass,memcached_pass即可。
4.此策略適合服務(wù)器配置相當(dāng),無狀態(tài)且短平快的服務(wù)使用。
四、最少鏈接負(fù)載均衡
http { upstream CashServers { least_conn; server CashServers1.com; server CashServers2.com; server CashServers3.com; } server { listen 80; location / { proxy_pass http://CashServers; } } }
需要注意以下幾點
1.最少鏈接負(fù)載均衡通過least_conn指令定義;
2.此負(fù)載均衡策略適合請求處理時間長短不一造成服務(wù)器過載的情況;
五、ip哈希負(fù)載均衡
http { upstream CashServers { ip_hash; server CashServers1.com; server CashServers2.com; server CashServers3.com; } server { listen 80; location / { proxy_pass http://CashServers; } } }
需要注意以下幾點
1.ip哈希負(fù)載均衡使用ip_hash指令定義;
2.nginx使用請求客戶端的ip地址進(jìn)行哈希計算,確保使用同一個服務(wù)器響應(yīng)請求;
3.此策略適合有狀態(tài)服務(wù),比如session;
六、權(quán)重負(fù)載均衡
http { upstream CashServers { server CashServers1.com weight=3; server CashServers2.com weight=2; server CashServers3.com weight=1; } server { listen 80; location / { proxy_pass http://CashServers; } } }
需要注意以下幾點
1. 權(quán)重負(fù)載均衡需要使用weight指令定義;
2. 權(quán)重越高分配到需要處理的請求越多;
3.此策略可以與最少鏈接負(fù)載和ip哈希策略結(jié)合使用;
4.此策略比較適合服務(wù)器的硬件配置差別比較大的情況;
七、健康檢測
nginx內(nèi)置了針對服務(wù)器的健康檢測機制,如果特定服務(wù)器請求失敗,則nginx即可進(jìn)行標(biāo)記待下次就不會請求分配給它。max_fails定義失敗指定次數(shù)后進(jìn)行標(biāo)記服務(wù)器不可用。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Nginx 代理與負(fù)載均衡詳解
- linux負(fù)載均衡總結(jié)性說明 四層負(fù)載和七層負(fù)載有什么區(qū)別
- 詳解Linux系統(tǒng)配置nginx的負(fù)載均衡
- Nginx實現(xiàn)集群的負(fù)載均衡配置過程解析
- 詳解Java實現(xiàn)負(fù)載均衡的幾種算法代碼
- 詳解Ngigx+Tomcat配置動靜分離,負(fù)載均衡
- 詳解Nginx HTTP負(fù)載均衡和反向代理配置
- Win2008 R2下配制負(fù)載均衡方法(圖文簡潔版)
- Nginx+Tomcat+Https 服務(wù)器負(fù)載均衡配置實踐方案詳解
- 詳解負(fù)載均衡實現(xiàn)一個域名對應(yīng)多個IP地址
相關(guān)文章
Nginx中404頁面的配置及AJAX請求返回404頁面的方法
404是請求頁面不存在的錯誤代碼,在Nginx中有時處理jQuery中的ajax方法雖然能返回404頁面但錯誤代碼卻返回200,針對此問題我們具體來看一下Nginx中404頁面的配置及AJAX請求返回404頁面的方法2016-05-05Dockerfile打包nginx鏡像的實現(xiàn)步驟
本文主要介紹了Dockerfile打包nginx鏡像的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-10-10Nginx優(yōu)化配置和內(nèi)核優(yōu)化 實現(xiàn)突破十萬并發(fā)
Nginx是一個高性能的 HTTP 和 反向代理 服務(wù)器,也是一個 IMAP/POP3/SMTP 代理服務(wù)器。本文介紹一些Nginx優(yōu)化代碼參數(shù)等2013-06-06在Nginx中使用X-Sendfile頭提升PHP文件下載的性能(針對大文件下載)
這篇文章主要介紹了在Nginx中使用X-Sendfile頭提升PHP文件下載的性能,可以用在針對大文件下載的情況,下載非網(wǎng)站W(wǎng)eb目錄文件的需求,提供下載權(quán)限控制的場景,需要的朋友可以參考下2014-07-07