1. 程式人生 > >常見的web負載均衡方法總結

常見的web負載均衡方法總結

順序 缺點 首頁 color 不同 做到 重要 將不 支持

Web負載均衡的方法有很多,下面介紹幾種常見的負載均衡方法。

1.用戶手動選擇方法

這是一種較為古老的方式。通過在主站首頁入口提供不同線路、不同服務器連接的方式,來實現負載均衡。這種方式在一些提供下載的網站中比較常見。 技術分享圖片

2.DNS輪詢方式

大多域名註冊商都支持對同一主機名添加多條A記錄,這就是DNS輪詢,DNS服務器將解析騎牛按照A記錄的順序,隨機分配到不同的IP上,這樣就完成了簡單的負載均衡。 DNS輪詢的成本非常低,在一些不重要的服務上,經常被使用。 下圖為enom的域名Web管理界面,這裏我們為api.bz域名添加一個二級域名ntp.api.bz(主機名為ntp),並為該域名添加多條A記錄,讓其DNS輪詢7個IP,用7臺服務器來做負載均衡。 技術分享圖片

添加完成後,我們用Linux下的dig命令查看ntp.api.bz域名的域名解析情況

[root@instance-3lm099to ~]# dig ntp.api.bz

; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7 <<>> test1.testa.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33762
;; flags: qr rd ra; QUERY: 
1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 19 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;test1.testa.com. IN A ;; ANSWER SECTION: test1.testa.com. 600 IN A 201.17.07.223 ;; AUTHORITY SECTION: testa.com. 172761 IN NS vip2.testdns.com. testa.com.
172761 IN NS vip1.testdns.com. ;; ADDITIONAL SECTION: vip1.testdns.com. 475 IN A 101.19.44.101 vip1.testdns.com. 475 IN A 110.215.1.1 vip1.testdns.com. 475 IN A 110.215.28.103 vip1.testdns.com. 475 IN A 110.215.208.11 vip1.testdns.com. 475 IN A 13.1.102.10 vip1.testdns.com. 475 IN A 42.66.22.111 vip1.testdns.com. 475 IN A 101.15.10.103 ;; Query time: 15 msec ;; SERVER: 192.168.0.88#13(192.168.0.2) ;; WHEN: Mon Jul 06 21:14:12 CST 2015 ;; MSG SIZE rcvd: 391
雖然DNS輪詢的成本非常低,但是,DNS負載均衡存在兩個明顯的缺點

(1).可靠性低

假設一個域名DNS輪詢多臺服務器,如果其中的一臺服務器發生故障,那麽所有的訪問該服務器的請求將不會有所回應,這是任何人都不願意看到的。即使從DNS中去掉該服務器的IP,但在Internet上,各地區電信、網通等寬帶接入商將眾多的DNS存放在緩存中,以節省訪問時間,DNS記錄全部生效需要幾個小時,甚至更久。所以,盡管DNS輪流在一定程度上解決了負載均衡問題,但是卻存在可靠性不高的缺點。

(2).負載分配不均衡

DNS負載均衡采用的是最簡單的輪詢負載算法,不能區分服務器的差異,不能反映服務器的當前運行狀態,不能做到為性能較好的服務器多分配請求,甚至會出現客戶請求集中在某一臺服務器上的情況DNS服務器是按照一定的層次結構組織的,本地DNS服務器會緩沖已解析的域名到IP地址的映射,這會導致使用該DNS服務器的用戶在一段時間內訪問的是同一臺Web服務器,導致Web服務器間的負載不均衡。 此外,用戶本地計算機也會緩存已解析的域名到IP地址的映射。當多個用戶計算機都緩存了某域名到IP地址的映射時,而這些用戶繼續訪問該域名下的網頁,這是也會導致不同Web服務器件的負載分配不均衡。
負載不均衡可能導致的後果有:某幾臺服務器負荷很低,而另幾臺服務器負荷很高、處理緩慢;配置高的服務器分配到的請求少,而配置覅的服務器分配的請求多。 因此,DNS輪詢方式僅適用於一些可靠性要求不高的服務器集群,例如:圖片服務器群、純靜態網頁服務器集群等。

3.四/七層負載均衡設備

常見的四/七層負載均衡設備:

1.硬件四/七層負載均衡交換機

常見的如F5 BIG-IP、Foundry等產品,采用F5的公司有:新浪、百度、雅虎、貓撲、搜狐、慧聰網等等。

2.軟件四層負載均衡

代表有LVS(Linux Virtual Server).

3.軟件七層負載均衡

大多基於HTTP反向代理,代表作有Nginx

4.多線多地區智能DNS解析與混合負載均衡方式

以新浪首頁為例,負載均衡同時用到了“多線多地區智能DNS解析、DNS輪詢、四/七層負載均衡交換機”等技術。智能DNS解析能夠根據用戶本地設置的DNS服務器線路和地區,將對同一個域名請求解析到不同的IP上。

常見的web負載均衡方法總結