福州網(wǎng)站建設公司關鍵詞營銷推廣

在業(yè)務初期,我們一般會先使用單臺服務器對外提供服務。隨著業(yè)務流量越來越大,單臺服務器無論如何優(yōu)化,無論采用多好的硬件,總會有性能天花板,當單服務器的性能無法滿足業(yè)務需求時,就需要把多臺服務器組成集群系統(tǒng)提高整體的處理性能。
基于上述需求,我們要使用統(tǒng)一的流量入口來對外提供服務,本質(zhì)上就是需要一個流量調(diào)度器,通過均衡的算法,將用戶大量的請求流量均衡地分發(fā)到集群中不同的服務器上。這其實就是我們今天要說的負載均衡,什么是負載均衡?
使用負載均衡可以給我們帶來的幾個好處:
提高了系統(tǒng)的整體性能;
提高了系統(tǒng)的擴展性;
提高了系統(tǒng)的可用性
負載均衡類型
什么是負載均衡?廣義上的負載均衡器大概可以分為 3 類,包括:DNS 方式實現(xiàn)負載均衡、硬件負載均衡、軟件負載均衡。
(一)DNS 實現(xiàn)負載均衡
DNS 實現(xiàn)負載均衡是最基礎簡單的方式。一個域名通過 DNS 解析到多個 IP,每個 IP 對應不同的服務器實例,這樣就完成了流量的調(diào)度,雖然沒有使用常規(guī)的負載均衡器,但實現(xiàn)了簡單的負載均衡功能。
通過 DNS 實現(xiàn)負載均衡的方式,最大的優(yōu)點就是實現(xiàn)簡單,成本低,無需自己開發(fā)或維護負載均衡設備,不過存在一些缺點:
①服務器故障切換延遲大,服務器升級不方便。我們知道 DNS 與用戶之間是層層的緩存,即便是在故障發(fā)生時及時通過 DNS 修改或摘除故障服務器,但中間經(jīng)過運營商的 DNS 緩存,且緩存很有可能不遵循 TTL 規(guī)則,導致 DNS 生效時間變得非常緩慢,有時候一天后還會有些許的請求流量。
②流量調(diào)度不均衡,粒度太粗。DNS 調(diào)度的均衡性,受地區(qū)運營商 LocalDNS 返回 IP 列表的策略有關系,有的運營商并不會輪詢返回多個不同的 IP 地址。另外,某個運營商 LocalDNS 背后服務了多少用戶,這也會構(gòu)成流量調(diào)度不均的重要因素。
③流量分配策略太簡單,支持的算法太少。DNS 一般只支持 rr 的輪詢方式,流量分配策略比較簡單,不支持權(quán)重、Hash 等調(diào)度算法。
④DNS 支持的 IP 列表有限制。我們知道 DNS 使用 UDP 報文進行信息傳遞,每個 UDP 報文大小受鏈路的 MTU 限制,所以報文中存儲的 IP 地址數(shù)量也是非常有限的,阿里 DNS 系統(tǒng)針對同一個域名支持配置 10 個不同的 IP 地址。
(二)硬件負載均衡
硬件負載均衡是通過專門的硬件設備來實現(xiàn)負載均衡功能,是專用的負載均衡設備。目前業(yè)界典型的硬件負載均衡設備有兩款:F5和A10。
這類設備性能強勁、功能強大,但價格非常昂貴,一般只有土豪公司才會使用此類設備,中小公司一般負擔不起,業(yè)務量沒那么大,用這些設備也是挺浪費的。
硬件負載均衡的優(yōu)點:
功能強大:全面支持各層級的負載均衡,支持全面的負載均衡算法。
性能強大:性能遠超常見的軟件負載均衡器。
穩(wěn)定性高:商用硬件負載均衡,經(jīng)過了良好的嚴格測試,經(jīng)過大規(guī)模使用,穩(wěn)定性高。
安全防護:還具備防火墻、防 DDoS 攻擊等安全功能,以及支持 SNAT 功能。
硬件負載均衡的缺點也很明顯:
①價格貴;
②擴展性差,無法進行擴展和定制;
③調(diào)試和維護比較麻煩,需要專業(yè)人員;
(三)軟件負載均衡
軟件負載均衡,可以在普通的服務器上運行負載均衡軟件,實現(xiàn)負載均衡功能。目前常見的有 Nginx、HAproxy、LVS。其中的區(qū)別:
Nginx:七層負載均衡,支持 HTTP、E-mail 協(xié)議,同時也支持 4 層負載均衡;
HAproxy:支持七層規(guī)則的,性能也很不錯。OpenStack 默認使用的負載均衡軟件就是 HAproxy;
LVS:運行在內(nèi)核態(tài),性能是軟件負載均衡中最高的,嚴格來說工作在三層,所以更通用一些,適用各種應用服務。
軟件負載均衡的優(yōu)點:
易操作:無論是部署還是維護都相對比較簡單;
便宜:只需要服務器的成本,軟件是免費的;
靈活:4 層和 7 層負載均衡可以根據(jù)業(yè)務特點進行選擇,方便進行擴展和定制功能。