【高併發解決方案】九、大流量解決方案

方案1、反向代理負載均衡

經常使用的nginx。位於網絡7層之上的http層,針對http應用作一些分流的策略。nginx

nginx單臺機器能夠承受2w到3w的併發量。瀏覽器

任何一臺服務器都有一個極限,一旦訪問量到了這個點,性能會急劇惡化。最大併發5W,實際上可能3-4W就會引起性能惡化,而後拖着到極限,最後宕機。緩存

方案2、DNS負載均衡

隨着併發流量的增長,反向代理已經不能知足須要。須要進行DNS負載均衡到nginx集羣中。服務器

DNS負責提供域名解析服務,當訪問某個站點時,實際上首先須要經過該站點域名的DNS服務器來獲取域名指向的IP地址,在這一過程當中,DNS服務器完成了域名到IP地址的映射,一樣,這樣映射也能夠是一對多的,這時候,DNS服務器便充當了負載均衡調度器網絡

做爲調度器,DNS服務器自己的性能幾乎不用擔憂。由於DNS記錄能夠被用戶瀏覽器或者互聯網接入服務商的各級DNS服務器緩存,只有當緩存過時後纔會從新向域名的DNS服務器請求解析。也說是DNS不存在http的吞吐率限制,理論上能夠無限增長實際服務器的數量。併發

方案3、IP負載均衡(LVS-NAT)

NAT服務器:它工做在傳輸層(第四層),它能夠修改發送來的IP數據包,將數據包的目標地址修改成實際服務器地址。負載均衡

做爲調度器的NAT服務器能夠將吞吐率提高到一個新的高度,幾乎是反向代理服務器的兩倍以上,這大多歸功於在內核中進行請求轉發的較低開銷。性能

可是它的瓶頸在於NAT服務器的網絡帶寬,包括內部網絡和外部網絡代理

方案4、直接路由(LVS-DR)

NAT是工做在網絡分層模型的傳輸層(第四層),而直接路由是工做在數據鏈路層(第二層)路由

它經過修改數據包的目標MAC地址(沒有修改目標IP),將數據包轉發到實際服務器上,不一樣的是,實際服務器的響應數據包將直接發送給客戶羰,而不通過調度器。

方案5、硬件級別

經常使用產品有F5交換機、array。

Nginx此時就做爲LVS或者Array的節點來使用,具體LVS或Array的是選擇是根據公司規模和預算來選擇,Array的應用交付功能很是強大,本人在某項目中使用過,性價比也遠高於F5,商用首選!可是通常來講這階段相關人才跟不上業務的提高,因此購買商業負載均衡已經成爲了必經之路。

相關文章
相關標籤/搜索