国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

你真的掌握LVS、Nginx及HAProxy工作原理嗎?

云計算 虛擬化
當前大多數的互聯網系統都使用了服務器集群技術,集群是將相同服務部署在多臺服務器上構成一個集群整體對外提供服務。

當前大多數的互聯網系統都使用了服務器集群技術,集群是將相同服務部署在多臺服務器上構成一個集群整體對外提供服務。

[[272323]]

圖片來自 Unsplash

這些集群可以是 Web 應用服務器集群,也可以是數據庫服務器集群,還可以是分布式緩存服務器集群等等。

在實際應用中,在 Web 服務器集群之前總會有一臺負載均衡服務器,負載均衡設備的任務就是作為 Web 服務器流量的入口,挑選最合適的一臺 Web 服務器,將客戶端的請求轉發給它處理,實現客戶端到真實服務端的透明轉發。

最近幾年很火的云計算以及分布式架構,本質上也是將后端服務器作為計算資源、存儲資源,由某臺管理服務器封裝成一個服務對外提供,客戶端不需要關心真正提供服務的是哪臺機器。

在它看來,就好像它面對的是一臺擁有近乎無限能力的服務器,而本質上,真正提供服務的,是后端的集群。

LVS、Nginx、HAProxy 是目前使用很廣泛的三種軟件負載均衡軟件。一般對負載均衡的使用是隨著網站規模的提升根據不同的階段來使用不同的技術。

具體的應用需求還得具體分析,如果是中小型的 Web 應用,比如日 PV 小于 1000 萬,用 Nginx 就完全可以了。

如果機器不少,可以用 DNS 輪詢,LVS 所耗費的機器還是比較多的;大型網站或重要的服務,且服務器比較多時,可以考慮用 LVS。

目前關于網站架構一般比較合理流行的架構方案:

  • Web 前端采用 Nginx/HAProxy+Keepalived 作負載均衡器。
  • 后端采用 MySQL 數據庫一主多從和讀寫分離,采用 LVS+Keepalived 的架構。

LVS

LVS 是 Linux Virtual Server 的簡稱,也就是 Linux 虛擬服務器。現在 LVS 已經是 Linux 標準內核的一部分。

從 Linux 2.4 內核以后,已經完全內置了 LVS 的各個功能模塊,無需給內核打任何補丁,可以直接使用 LVS 提供的各種功能。

LVS 自從 1998 年開始,發展到現在已經是一個比較成熟的技術項目了。

LVS 的體系結構:

LVS 架設的服務器集群系統由三個部分組成:

  • 最前端的負載均衡層,用 Load Balancer 表示。
  • 中間的服務器集群層,用 Server Array 表示。
  • 最底端的數據共享存儲層,用 Shared Storage 表示。

LVS 負載均衡機制

LVS 不像 HAProxy 等七層軟負載面向的是 HTTP 包,所以七層負載可以做的 URL 解析等工作,LVS 無法完成。

LVS 是四層負載均衡,也就是說建立在 OSI 模型的第四層,傳輸層之上,傳輸層上有我們熟悉的 TCP/UDP,LVS 支持 TCP/UDP 的負載均衡。

因為 LVS 是四層負載均衡,因此它相對于其它高層負載均衡的解決辦法,比如 DNS 域名輪流解析、應用層負載的調度、客戶端的調度等,它的效率是非常高的。

所謂四層負載均衡 ,也就是主要通過報文中的目標地址和端口。七層負載均衡 ,也稱為“內容交換”,也就是主要通過報文中的真正有意義的應用層內容。

LVS 的轉發主要通過修改 IP 地址(NAT 模式,分為源地址修改 SNAT 和目標地址修改 DNAT)、修改目標 MAC(DR 模式)來實現。

NAT 模式:網絡地址轉換

NAT(Network Address Translation)是一種外網和內網地址映射的技術。

NAT 模式下,網絡數據報的進出都要經過 LVS 的處理。LVS 需要作為 RS(真實服務器)的網關。

當包到達 LVS 時,LVS 做目標地址轉換(DNAT),將目標 IP 改為 RS 的 IP。

RS 接收到包以后,仿佛是客戶端直接發給它的一樣。RS 處理完,返回響應時,源 IP 是 RS IP,目標 IP 是客戶端的 IP。

這時 RS 的包通過網關(LVS)中轉,LVS 會做源地址轉換(SNAT),將包的源地址改為 VIP,這樣,這個包對客戶端看起來就仿佛是 LVS 直接返回給它的。

DR 模式:直接路由

DR 模式下需要 LVS 和 RS 集群綁定同一個 VIP(RS 通過將 VIP 綁定在 loopback 實現)。

但與 NAT 的不同點在于:請求由 LVS 接受,由真實提供服務的服務器(RealServer,RS)直接返回給用戶,返回的時候不經過 LVS。

詳細來看,一個請求過來時,LVS 只需要將網絡幀的 MAC 地址修改為某一臺 RS 的 MAC,該包就會被轉發到相應的 RS 處理,注意此時的源 IP 和目標 IP 都沒變,LVS 只是做了一下移花接木。

RS 收到 LVS 轉發來的包時,鏈路層發現 MAC 是自己的,到上面的網絡層,發現 IP 也是自己的,于是這個包被合法地接受,RS 感知不到前面有 LVS 的存在。

而當 RS 返回響應時,只要直接向源 IP(即用戶的 IP)返回即可,不再經過 LVS。

DR 負載均衡模式數據分發過程中不修改 IP 地址,只修改 Mac 地址,由于實際處理請求的真實物理 IP 地址和數據請求目的 IP 地址一致,所以不需要通過負載均衡服務器進行地址轉換。

可將響應數據包直接返回給用戶瀏覽器,避免負載均衡服務器網卡帶寬成為瓶頸。

因此,DR 模式具有較好的性能,也是目前大型網站使用廣泛的一種負載均衡手段。

LVS 的優點如下:

  • 抗負載能力強、是工作在傳輸層上僅作分發之用,沒有流量的產生,這個特點也決定了它在負載均衡軟件里的性能最強,對內存和 CPU 資源消耗比較低。
  • 配置性比較低,這是一個缺點也是一個優點,因為沒有可太多配置的東西,所以并不需要太多接觸,大大減少了人為出錯的幾率。
  • 工作穩定,因為其本身抗負載能力很強,自身有完整的雙機熱備方案,如 LVS + Keepalived。
  • 無流量,LVS 只分發請求,而流量并不從它本身出去,這點保證了均衡器 IO 的性能不會受到大流量的影響。
  • 應用范圍比較廣,因為 LVS 工作在傳輸層,所以它幾乎可以對所有應用做負載均衡,包括 HTTP、數據庫、在線聊天室等等。

LVS 的缺點如下:

  • 軟件本身不支持正則表達式處理,不能做動靜分離;而現在許多網站在這方面都有較強的需求,這個是 Nginx、HAProxy+Keepalived 的優勢所在。
  • 如果是網站應用比較龐大的話,LVS/DR+Keepalived 實施起來就比較復雜了,相對而言,Nginx/HAProxy+Keepalived 就簡單多了。

Nginx

Nginx 是一個強大的 Web 服務器軟件,用于處理高并發的 HTTP 請求和作為反向代理服務器做負載均衡。

它具有高性能、輕量級、內存消耗少,強大的負載均衡能力等優勢。

Nignx 的架構設計

相對于傳統基于進程或線程的模型(Apache 就采用這種模型)在處理并發連接時會為每一個連接建立一個單獨的進程或線程,且在網絡或者輸入/輸出操作時阻塞。

這將導致內存和 CPU 的大量消耗,因為新起一個單獨的進程或線程需要準備新的運行時環境,包括堆和棧內存的分配,以及新的執行上下文,當然,這些也會導致多余的 CPU 開銷。

最終,會由于過多的上下文切換而導致服務器性能變差。反過來,Nginx 的架構設計是采用模塊化的、基于事件驅動、異步、單線程且非阻塞。

Nginx 大量使用多路復用和事件通知,Nginx 啟動以后,會在系統中以 Daemon 的方式在后臺運行,其中包括一個 Master 進程,n(n>=1) 個 Worker 進程。

所有的進程都是單線程(即只有一個主線程)的,且進程間通信主要使用共享內存的方式。

其中,Master 進程用于接收來自外界的信號,并給 Worker 進程發送信號,同時監控 Worker 進程的工作狀態。

Worker 進程則是外部請求真正的處理者,每個 Worker 請求相互獨立且平等的競爭來自客戶端的請求。

請求只能在一個 Worker 進程中被處理,且一個 Worker 進程只有一個主線程,所以同時只能處理一個請求。(原理同 Netty 很像)

Nginx 負載均衡

Nginx 負載均衡主要是對七層網絡通信模型中的第七層應用層上的 HTTP、HTTPS 進行支持。Nginx 是以反向代理的方式進行負載均衡的。

反向代理(Reverse Proxy)方式是指以代理服務器來接受 Internet 上的連接請求,然后將請求轉發給內部網絡上的服務器,并將從服務器上得到的結果返回給 Internet 上請求連接的客戶端,此時代理服務器對外就表現為一個服務器。

Nginx 實現負載均衡的分配策略有很多,Nginx 的 Upstream 目前支持以下幾種方式:

  • 輪詢(默認):每個請求按時間順序逐一分配到不同的后端服務器,如果后端服務器 Down 掉,能自動剔除。
  • Weight:指定輪詢幾率,Weight 和訪問比率成正比,用于后端服務器性能不均的情況。
  • IP_Hash:每個請求按訪問 IP 的 Hash 結果分配,這樣每個訪客固定訪問一個后端服務器,可以解決 Session 的問題。
  • Fair(第三方):按后端服務器的響應時間來分配請求,響應時間短的優先分配。
  • URL_Hash(第三方):按訪問 URL 的 Hash 結果來分配請求,使每個 URL 定向到同一個后端服務器,后端服務器為緩存時比較有效。

Nginx 的優點如下:

  • 跨平臺:Nginx 可以在大多數 Unix like OS編譯運行,而且也有 Windows 的移植版本。
  • 配置異常簡單:非常容易上手。配置風格跟程序開發一樣,神一般的配置。
  • 非阻塞、高并發連接:官方測試能夠支撐 5 萬并發連接,在實際生產環境中跑到 2~3 萬并發連接數。
  • 事件驅動:通信機制采用 Epoll 模型,支持更大的并發連接。
  • Master/Worker 結構:一個 Master 進程,生成一個或多個 Worker 進程。
  • 內存消耗小:處理大并發的請求內存消耗非常小。在 3 萬并發連接下,開啟的 10 個 Nginx 進程才消耗 150M 內存(15M*10=150M)。
  • 內置的健康檢查功能:如果 Nginx 代理的后端的某臺 Web 服務器宕機了,不會影響前端訪問。
  • 節省帶寬:支持 GZIP 壓縮,可以添加瀏覽器本地緩存的 Header 頭。
  • 穩定性高:用于反向代理,宕機的概率微乎其微。

Nginx 的缺點如下:

  • Nginx 僅能支 持 HTTP、HTTPS 、TCP、 Email 等協議,這樣就在適用范圍上面小些,這個是它的缺點。
  • 對后端服務器的健康檢查,只支持通過端口來檢測,不支持通過 URL 來檢測。不支持 Session 的直接保持,但能通過 IP_Hash 來解決。

HAProxy

HAProxy 支持兩種代理模式 TCP(四層)和 HTTP(七層),也是支持虛擬主機的。

HAProxy 的優點能夠補充 Nginx 的一些缺點,比如支持 Session 的保持,Cookie 的引導;同時支持通過獲取指定的 URL 來檢測后端服務器的狀態。

HAProxy 跟 LVS 類似,本身就只是一款負載均衡軟件;單純從效率上來講 HAProxy 會比 Nginx 有更出色的負載均衡速度,在并發處理上也是優于 Nginx 的。

HAProxy 支持 TCP 協議的負載均衡轉發,可以對 MySQL 讀進行負載均衡,對后端的 MySQL 節點進行檢測和負載均衡,大家可以用 LVS+Keepalived 對 MySQL 主從做負載均衡。

HAProxy 負載均衡策略非常多:

  • Round-Robin(輪循)
  • Weight-Round-Robin(帶權輪循)
  • Source(原地址保持)
  • RI(請求 URL)
  • RDP-Cookie(根據 Cookie)

Reference:

  • 鐘武:https://zhongwuzw.github.io
  • 王晨純:http://www.importnew.com/11229.html
  • 周旭龍:http://edisonchou.cnblogs.com

 

責任編輯:武曉燕 來源: linkedkeeper
相關推薦

2020-10-21 10:50:24

LVSNginxHAProxy

2018-12-19 10:05:15

LVSNginxHAProxy

2018-11-20 09:37:19

Java內存模型

2018-08-20 08:30:05

Kafka架構系統

2018-04-10 10:32:07

NginxApache服務器

2011-05-17 09:25:33

軟件工程師

2011-05-17 10:48:30

軟件程序員

2014-07-24 10:28:40

NginxLVSHAProxy

2018-07-05 14:25:01

TCP握手原理

2016-06-01 15:42:58

Hadoop數據管理分布式

2020-04-17 14:25:22

Kubernetes應用程序軟件開發

2022-07-26 00:00:22

HTAP系統數據庫

2025-08-06 08:53:35

2014-04-17 16:42:03

DevOps

2020-05-13 08:10:32

HTTPS安全網站

2022-09-21 18:06:10

Python內存管理

2021-11-09 09:48:13

Logging python模塊

2021-01-15 07:44:21

SQL注入攻擊黑客

2022-08-15 10:42:50

千兆網絡千兆光纖

2021-04-23 07:27:31

內存分配CPU
點贊
收藏

51CTO技術棧公眾號

成人a在线视频免费观看| 精品国产一区二区三区免费 | 亚洲日本中文| 日韩av网站大全| av在线免费观看网址| 亚洲人精品午夜在线观看| 狼人天天伊人久久| 亚洲综合中文字幕在线观看| ****av在线网毛片| 日韩美女主播视频| 国产精品日本一区二区三区在线| 国产欧美久久久久久| 亚洲影音一区| 五码日韩精品一区二区三区视频| 成人18精品视频| 在线午夜视频| 这里只有精品丝袜| 日韩不卡一区二区三区| 在线看黄的网站| 亚洲国产一区自拍| 国产一区二区三区四区二区| 免费的一级黄色片| 欧日韩精品视频| 巨胸喷奶水www久久久免费动漫| 国产精品欧美风情| 国产精品久久久久久久久久久免费看| 天堂av中文在线资源库| 欧美夫妻性生活视频| 国产一区 二区 三区一级| 久久久久久女乱国产| 日本久久91av| 免费成人在线观看| jizz在线免费观看| 97se国产在线视频| 色悠悠久久综合| 一本色道久久综合| 在线国产福利| 亚洲3p在线观看| 中文字幕字幕中文在线中不卡视频| 国产精品国产亚洲精品| 人人妻人人做人人爽| 亚洲精品美女网站| 不卡欧美aaaaa| 国产在线视频资源| 裸体丰满少妇做受久久99精品| 欧美日本一区二区三区| 国产最新在线| 黑人巨大精品欧美一区二区小视频| 成人午夜短视频| 在线三级中文| 99久re热视频精品98| 韩日精品中文字幕| 欧美日韩国产天堂| 国产主播一区二区三区| 四虎影视国产精品| 巨骚激情综合| 成人免费看片视频在线观看| 久久久久久国产免费| 欧美日韩国产综合草草| 国产一区二区中文| 福利在线导航136| www浪潮av99com| 精品不卡一区二区三区| 永久免费看mv网站入口亚洲| 一区二区在线看| 精品一区二区三区免费视频| 久操精品在线| caoporm免费视频在线| 久久精品影视大全| 国产欧美日韩综合一区在线观看 | 久草在线新资源| 欧美激情久久久| 成人av影院在线观看| 国产欧美欧洲| 久久香蕉国产线看观看99| 视频国产在线观看| 欧美午夜宅男影院| 97成人在线| 神马伦理电影| 国产一二三四五| 欧美成ee人免费视频| 欧美性猛交99久久久久99按摩| 窝窝社区一区二区| 欧美成人性生活视频| 国产黄色激情视频| 97欧美精品一区二区三区| 美女尤物国产一区| 国产盗摄在线观看| 91精品久久久久久久久久久久久久 | 一区二区三区四区不卡| 一区二区三区三区在线| xxxx影院| av在线理伦电影| 美乳中文字幕| 青青青草视频在线| 高潮按摩久久久久久av免费| 羞羞答答国产精品www一本| 国产精品亚洲第一| 欧美性猛交xxxx| 国产成人精品综合久久久| 国产手机免费视频| 成人在线免费电影| 神马久久高清| 日韩影片中文字幕| 四季av一区二区凹凸精品| 国语精品一区| 国产+成+人+亚洲欧洲自线| 欧美视频中文字幕在线| 亚洲国产高清高潮精品美女| 538国产精品视频一区二区| 手机看片福利永久国产日韩| 九九热在线免费| 大胆高清日本a视频| 国产特级嫩嫩嫩bbb| 蜜桃专区在线| 亚乱亚乱亚洲乱妇| 日韩欧美另类一区二区| 依依综合在线| 成人mm视频在线观看| 国产免费视频在线| 国产影视一区| 日韩欧美国产一区二区在线播放| 国产一级做a爰片久久毛片男| 日韩高清一区| 91一区二区在线观看| 日本aⅴ精品一区二区三区| 亚洲天堂黄色| 99视频精品全国免费| 久久99精品久久久久久欧洲站| 成人在线视频你懂的| 欧美5-7sexvideos处| 国产专区一区二区| 亚洲电影av在线| 久国内精品在线| 精品欧美国产| 大地资源网在线观看免费官网| 一区二区在线观看网站| 黄色a级片免费| 国产三区视频在线观看| 欧美xxxx做受欧美护士| 亚洲区小说区| 国产一区三区三区| 亚洲最新视频在线观看| 亚洲男人av电影| 成人在线观看视频网站| 国内外成人激情免费视频| 最近中文字幕在线| 黄色精品视频| 国产欧美69| 国产精品久久久久久妇女6080 | 亚洲人a成www在线影院| 91wwwcom在线观看| 成人免费观看cn| 色影视在线观看| 香蕉久久精品日日躁夜夜躁| 国产精品一区二区黑丝| 91久久精品一区二区| 国产精品91视频| 久久久久久免费看| av免费不卡国产观看| 国内自拍一区| 色乱码一区二区三区88| 97精品国产97久久久久久| 亚洲人一区二区| 蜜桃麻豆影像在线观看| 青青草97国产精品免费观看无弹窗版| 一区二区三区精品| 欧美黄色小视频| 你懂的av在线| 三上悠亚亚洲一区| 国产成人激情av| 亚洲欧美另类在线观看| 手机成人在线| www.8ⅹ8ⅹ羞羞漫画在线看| 日韩福利视频网| 亚洲女人天堂网| 在线观看日韩片| 成人线上视频| 成人av电影在线观看| 日韩一区二区久久久| 亚州精品一二三区| 中文精品一区二区| 在线亚洲免费视频| 国产福利不卡| 日本aa在线| 99久久精品国产观看| 全球成人中文在线| 中国日本在线视频中文字幕| 老司机精品导航| 欧美成人激情视频免费观看| 99在线精品免费视频| 日韩av密桃| 91精品国产综合久久久蜜臀图片| 天堂社区 天堂综合网 天堂资源最新版 | 午夜一区在线| 亚洲精品之草原avav久久| 精品日韩久久久| 亚洲精选在线| 欧美国产日韩视频| 在线观看黄色av|