负载均衡策略_常见的负载均衡策略
輪詢(Round Robin): 這種方法就會將
收到的請求循環分配到服務器集群中的每臺機器,即有效服務器。如果使用這種方式,所有的標記進入虛擬服務的服務器應該有相近的資源容量以及敷在相同的應用程序。如果所有的服務有相同或者相近的性能那么選擇這種方式會使服務器負載相同?;谶@個前提,輪詢調度是一個簡單而有效的分配請求的方式。然而對于服務器不同的情況,選擇這種方式就意味著能力比較弱的服務器也會在下一輪循環中接收輪詢,即使這個服務器已經不能再處理當前這個請求了。這可能導致能力弱的服務器超載。
加權輪詢(Weighted Round Robin):這種算法解決了簡單輪詢調度算法的缺點:傳入的請求按順序被分配到集群中的服務器,但是會考慮提前為每臺服務器分配的權重。管理員只是簡單的通過服務器的處理能力來定義各臺服務器的權重。例如,能力高的服務器A給權重100,同時能力低的服務器B給權重50,就意味著在服務器B接收到第一個請求之前,服務器A會連續接收到2個請求,以此類推。
最少連接數(Least Connection):以上兩種方法都沒有考慮的是系統不能識別在給定時間里保持多少連接。因此可能發生服務器B接收到的連接比服務器A少但是他已經超載,因為服務器B上的用戶打開鏈接的持續時間更長。這就是說連接數即服務器的負載是累加的。這種潛在的問題可以通過“最少連接數”算法來避免:傳入的請求是根據每臺服務器當前所打開的連接數來分配的。即活躍連接數量最少的服務器會自動接收下一個傳入的請求?;旧虾秃唵屋喸兊脑瓌t相同:所有擁有虛擬服務的服務器資源容量應該相近。值得注意的是,在流量率低的配置環境中,各服務器的流量并不是相同的,會優先考慮第一臺服務器,這是因為如果所有的服務器是相同的,那么第一個服務器優先,直到第一臺服務器有連續的活躍流量,否則總是會優先選擇第一臺服務器。
加權最少鏈接(Weighted Least Connection): 如果服務器的容量各不相同,那么“加權最少連接”方法更合適。由管理員根據服務器情況定制的權重所決定的活躍連接數一般提供了一種對服務器非常平衡的利用,因為他借鑒了最少鏈接和權重兩者的優勢。通常,這是一個非常公平的分配方式,因為它使用了連接數和服務器權重比例;集群中比例低的服務器自動接收下一個請求。但是請注意,在低流量情況中使用這種方法時,請參考“最小連接數”方法中的注意事項。
基于代理的自適應負載均衡(Agent Based Adaptive Balancing):除了上述方法之外,負載機包含一個自適用邏輯用來定時檢測服務器狀態和該服務器的權重。對于非常強大的“基于代理的自適用負載均衡”方法來說,負載主機以這種方式來定時檢測所有服務器負載狀況:每臺服務器都必須提供一個包含文件,這個文件包含0-99的數字用來標明該服務器的實際負載狀況(0=空前,99=超載,101=失敗,102=管理員禁用),而服務器通過http get方法來獲取這個文件;同時對集群中服務器來說,以二進制文件形式提供自身負載情況也是該服務工作之一,然而并沒有限制服務器如何計算自身的負載情況。根據服務器整體負載情況,有兩種策略可以選擇:在常規操作中,調度算法通過收集的服務器負載值和分配給該服務器的連接數的比例計算出一個權重比例。因此如果一個服務器負載過大,權重會通過系統透明做重新調整。和加權輪詢調度算法一樣,不正確的分配可以被記錄下來使得可以有效地為不同服務器分配不同的權重。然而在流量非常低的情況下,服務器報上來的負載值將不能建立一個有代表性的樣本;那么基于這些值來分配負載的話將導致失控以及指令動蕩。因此,在這這種情況下更合理的做法是基于靜態權重比來計算負載分配。當所有服務器的負載低于管理員定義的下限時,負載主機就會自動切換為加權輪詢的方式來分配請求;如果負載大于管理員定義的下限時,那么主機就會切換回自適應方式。
固定加權(Fixed Weighted):最高權重只有在其他服務器的權重值都很低時才使用。然而,如果是最高權重的服務器下降,則下一個最高優先級的服務器將為客戶端服務。這種方式中每一個真實服務器的權重需要基于服務器優先級來配置。
加權響應(WeightEd Response):流量的調度是通過加權輪詢的方式。加權輪詢中所使用的權重是根據服務器有效性檢測的響應時間來計算。每一個有效性檢測都會被計時,用來標記他響應成功花了多長時間。但是需要注意的是,這種方式假定服務器心跳檢測是基于機器的快慢,但是這種假設也許不總是能成立。所有服務器在虛擬服務上的響應時間的總和加在一起,通過這個值來計算單個服務物理服務器的權重;這個權重值大約每15秒計算一次。
源IP哈希(Source IP Hash):這種方式通過生成請求源IP的哈希值,并通過這個哈希值來找到正確的真實服務器。這意味著對于同一臺主機來說他對應的服務器總是相同。使用這種方式,你不需要保存任何源IP。但是需要注意,這種方式可能導致服務器負載不平衡。
常見的輪詢方式有四種:輪詢,加權輪詢,最少連接數,源IP哈希
總結
以上是生活随笔為你收集整理的负载均衡策略_常见的负载均衡策略的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python花括号代替缩进_Python
- 下一篇: 解决Error: That port i