知識庫
nginx負載均衡策略是什么?我們都知道,Nginx支持負載均衡,可以很方便的幫助我們進行水平擴容,然而它究竟是依據什么原則進行請求的分發,其中又有哪些負載均衡算法可供選擇和配置,今天就讓我們好好來了解一下。
隨著網站服務器負載的不斷增加,負載均衡對IT人員來說已不是陌生話題。負載均衡是將流量負載分攤到不同的服務單元,保證服務器的高可用,響應足夠快,給用戶良好的體驗。
負載均衡業務詳情鏈接:http://www.bxgb88.com/
關于nginx的理解
在服務器集群中,Nginx起到一個代理服務器的角色(即反向代理),為了避免單獨一個服務器壓力過大,將來自用戶的請求轉發給不同的服務器。Nginx的特點是穩定性高、功能強大、資源消耗低。
Nginx是一個高性能的Http和反向代理服務器,也是一個IMAP/POP3/SMTP服務器(電子郵件代理)。Nginx可作為負載均衡服務器,可作為Http代理服務器對外進行服務。處理靜態文件,索引文件以及自動索引;打開文件描述符緩沖。模塊化的結構。
關于Nginx負載均衡策略
對大型網站而言,不管多么強大的服務器,都滿足不了網站持續增長的業務需求。當一臺服務器的處理能力、存儲空間不足時,更恰當的做法是增加一臺服務器分擔原有服務器的訪問及存儲壓力。擴展網絡設備和服務器的帶寬、增加吞吐量、加強網絡數據處理能力、提高網絡的靈活性和可用性。分攤到多個操作單元上進行執行。Nginx通過反向代理可以實現服務的負載均衡,避免了服務器單節點故障,把請求按照一定的策略轉發到不同的服務器上,達到負載的效果。
常用的負載均衡策略有:
1、輪詢:將請求按順序輪流地分配到后端服務器上,它均衡地對待后端的每一臺服務器,而不關心服務器實際的連接數和當前的系統負載。
2、加權輪詢:不同的后端服務器可能機器的配置和當前系統的負載并不相同,因此它們的抗壓能力也不相同。給配置高、負載低的機器配置更高的權重,讓其處理更多的請;而配置低、負載高的機器,給其分配較低的權重,降低其系統負載,加權輪詢能很好地處理這一問題,并將請求順序且按照權重分配到后端。
3、ip_hash(源地址哈希法)
根據獲取客戶端的IP地址,通過哈希函數計算得到一個數值,用該數值對服務器列表的大小進行取模運算,得到的結果便是客戶端要訪問服務器的序號。采用源地址哈希法進行負載均衡,同一IP地址的客戶端,當后端服務器列表不變時,它每次都會映射到同一臺后端服務器進行訪問。
4、隨機:通過系統的隨機算法,根據后端服務器的列表大小值來隨機選取其中的一臺服務器進行訪問。
5、least_conn(最小連接數法)
由于后端服務器的配置不盡相同,對于請求的處理有快有慢,最小連接數法根據后端服務器當前的連接情況,動態地選取其中當前積壓連接數最少的一臺服務器來處理當前的請求,盡可能地提高后端服務的利用效率,將負責合理地分流到每一臺服務器。
Nginx負載均衡的方案
可在前端部署nginx服務器,后端部署tomcat應用。用戶訪問nginx服務器,對于靜態資源nginx服務器直接返回到瀏覽器展示給用戶,對動態資源的請求被nginx服務器轉發(分配)到tomcat應用服務器,tomcat應用服務器將處理后得到的數據結構返回給nginx服務器,然后返回到瀏覽器展示給用戶。
好了,上面就是對于nginx負載均衡的幾點理解,除了負載均衡nginx還有,幾個常用功能,靜態分離、限流、緩存、黑白名單等,大家可以抽空了解一下!
以上是互聯數據關于nginx負載均衡策略的整理,想知道網站ddos壓力測試平臺有哪些?上次已經講過,互聯數據負載均衡EasySLB服務,在多臺云主機間實現應用程序流量的自動分配。可實現故障自動切換,提高業務可用性,并提高資源利用率。