1. 程式人生 > >服務器負載均衡-文章整理

服務器負載均衡-文章整理

網絡 fault ogl HA 缺點 -m segment pac 代理服務

【知乎】

實現上分類

負載均衡一般分為兩種,一種是基於DNS,另一種基於IP報文。

基於DNS

或是智能DNS

利用DNS實現負載均衡,就是在DNS服務器配置多個A記錄,不同的DNS請求會解析到不同的IP地址。大型網站一般使用DNS作為第一級負載均衡。缺點是DNS生效時間略長,擴展性差。

HTTP重定向

302

基於IP

某臺服務器作為對外的出入口,然後根據特定的負載均衡算法將IP報文轉發到整個集群的某臺服務器中去。

早期比較有代表性並且被大量使用的的就是LVS了。原理是LVS在Linux內核態獲取到IP報文後,根據特定的負載均衡算法將IP報文轉發到整個集群的某臺服務器中去。
缺點是LVS的性能依賴Linux內核的網絡性能,但Linux內核的網絡路徑過長導致了大量開銷,使得LVS單機性能較低。

反向代理負載均衡

反向代理服務器的核心工作是轉發HTTP,它工作在HTTP層面,因此,基於反向代理的負載均衡也稱為七層負載均衡。

軟硬件上分類

負載均衡有硬件和軟件兩種。

硬件上

硬件層的比較牛逼,將4-7層負載均衡功能做到一個硬件裏面,

google maglev http://simpleyyt.com/2017/07/05/introduction-to-google-maglev/

軟件上

目前主流的軟件負載均衡分為四層和七層。

LVS屬於四層負載均衡,工作在tcp/ip協議棧上,通過修改網絡包的ip地址和端口來轉發, 由於效率比七層高,一般放在架構的前端.

七層的負載均衡有nginx, haproxy, apache等, 工作在應用層,因此可以將HTTP請求等應用數據發送到具體的應用服務器,如將圖片請求轉發到特定的服務器上,總之可以做到更智能的負載均衡,這些功能在四層負載均衡上不好實現,一般放在架構的後面位置,布置在應用服務器前面.
http://wetest.qq.com/lab/view/320.html?from=content_SegmentFault

服務器負載均衡-文章整理