日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

探析負(fù)載均衡器的實(shí)現(xiàn)原理

來源: 責(zé)編: 時(shí)間:2024-06-18 17:06:04 224觀看
導(dǎo)讀前言負(fù)載均衡器(Load Balancer,簡稱 LB)是一種硬件或者軟件設(shè)備,它可以將客戶端訪問流量根據(jù)轉(zhuǎn)發(fā)策略分發(fā)到多個(gè)服務(wù)器或者設(shè)備上,以確保系統(tǒng)的負(fù)載均衡,通過負(fù)載均衡可以有效避免單點(diǎn)故障,提高系統(tǒng)的可靠性和穩(wěn)定性。LB是

前言

負(fù)載均衡器(Load Balancer,簡稱 LB)是一種硬件或者軟件設(shè)備,它可以將客戶端訪問流量根據(jù)轉(zhuǎn)發(fā)策略分發(fā)到多個(gè)服務(wù)器或者設(shè)備上,以確保系統(tǒng)的負(fù)載均衡,通過負(fù)載均衡可以有效避免單點(diǎn)故障,提高系統(tǒng)的可靠性和穩(wěn)定性。LB是所有流量的入口,LB的高可用架構(gòu)以及可擴(kuò)展性對于業(yè)務(wù)的重要性不言而喻。本文全面剖析LB的架構(gòu)和底層實(shí)現(xiàn)原理,以點(diǎn)帶面,詳細(xì)介紹LB的構(gòu)成組件和實(shí)現(xiàn)技術(shù)、LB的后端網(wǎng)絡(luò)拓?fù)湟约癓B集群的高可用性。x6O28資訊網(wǎng)——每日最新資訊28at.com

LB的組成

圖1 LB的構(gòu)成組件圖1 LB的構(gòu)成組件x6O28資訊網(wǎng)——每日最新資訊28at.com

用戶每創(chuàng)建一個(gè)LB集群,都至少生產(chǎn)兩個(gè)負(fù)載均衡器節(jié)點(diǎn)(LB node),它的承載實(shí)體可以是虛擬機(jī)也可以是容器,容器具有輕量和高性能特性。LB的構(gòu)成包含三部分,分別如下:x6O28資訊網(wǎng)——每日最新資訊28at.com

1.負(fù)載均衡器

負(fù)載均衡器主要接收client的傳入流量,并按照負(fù)載均衡算法,將流量分發(fā)給LB node。x6O28資訊網(wǎng)——每日最新資訊28at.com

2.監(jiān)聽器

用戶可以向負(fù)載均衡器添加一個(gè)或者多個(gè)監(jiān)聽器,監(jiān)聽器主要用來配置協(xié)議和端口,根據(jù)檢查客戶端的流量連接請求,按照定義的轉(zhuǎn)發(fā)策略將請求的映射端口流量分發(fā)到后端真正承載業(yè)務(wù)的后端服務(wù)器和端口。x6O28資訊網(wǎng)——每日最新資訊28at.com

3.后端服務(wù)器

后端服務(wù)器就是業(yè)務(wù)的流量承載實(shí)體,可以是虛擬機(jī)、裸金屬和容器。監(jiān)聽器會(huì)對后端服務(wù)器進(jìn)行定期健康檢查,如果后端服務(wù)器有問題,將會(huì)從監(jiān)聽器中摘掉異常服務(wù)器,如果后端服務(wù)器恢復(fù)正常,監(jiān)聽器會(huì)自動(dòng)添加該服務(wù)器繼續(xù)為業(yè)務(wù)提供服務(wù)器。負(fù)載均衡器按照用戶設(shè)置的負(fù)載均衡算法(輪詢/最少鏈接/源地址),將流量分發(fā)到后端服務(wù)器。x6O28資訊網(wǎng)——每日最新資訊28at.com

負(fù)載均衡器高可用集群

圖2 LB集群圖2 LB集群x6O28資訊網(wǎng)——每日最新資訊28at.com

負(fù)載均衡器作為用戶的網(wǎng)絡(luò)服務(wù)入口,一旦發(fā)生故障將影響業(yè)務(wù)的整體可用性,所以負(fù)載均衡器集群的目的就是提供高可用的負(fù)載均衡器服務(wù)。負(fù)載均衡器集群中包含多個(gè)單獨(dú)工作的LB node,這些節(jié)點(diǎn)保持一致的負(fù)載均衡配置,并且具備相同的服務(wù)IP地址,提供統(tǒng)一的對外服務(wù)。 LB對外服務(wù)的ip地址稱之虛擬ip(一般稱vip),負(fù)載均衡器集群會(huì)自動(dòng)將vip映射到某個(gè)LB nodeIP地址。如圖2所示,每個(gè)LB集群的LB node包括Keepalive、LVS和Haproxy服務(wù),其中LB集群會(huì)選擇兩個(gè)LB node 組成一個(gè)Keepalive集群,一個(gè)作為master,一個(gè)作為slave,其中master 節(jié)點(diǎn)為vip所在節(jié)點(diǎn),是client訪問業(yè)務(wù)的入口ip。Keepalive集群是一個(gè)高可用集群,它通過VRRP協(xié)議來防止單點(diǎn)故障。如果master節(jié)點(diǎn)有問題,slave節(jié)點(diǎn)將轉(zhuǎn)為master節(jié)點(diǎn),對外提供服務(wù)。lb-node0作為Keepalive集群的master節(jié)點(diǎn),上面的LVS服務(wù)通過默認(rèn)的加權(quán)輪訓(xùn)算法,將入口流量分發(fā)到LB集群的3個(gè)node節(jié)點(diǎn),而作為Keepalive  slave的lb-node1上的LVS服務(wù)會(huì)將流量按照加權(quán)輪訓(xùn)算法分發(fā)到 lb-node1和lb-node2上。HAProxy作為監(jiān)聽器的載體,在其配置中為監(jiān)聽器添加后端服務(wù)器。x6O28資訊網(wǎng)——每日最新資訊28at.com

LB后端網(wǎng)絡(luò)拓?fù)?/h3>

圖1 LB的構(gòu)成組件圖1 LB的構(gòu)成組件x6O28資訊網(wǎng)——每日最新資訊28at.com

用戶每創(chuàng)建一個(gè)LB集群,都至少生產(chǎn)兩個(gè)負(fù)載均衡器節(jié)點(diǎn)(LB node),它的承載實(shí)體可以是虛擬機(jī)也可以是容器,容器具有輕量和高性能特性。LB的構(gòu)成包含三部分,分別如下:x6O28資訊網(wǎng)——每日最新資訊28at.com

1.負(fù)載均衡器

負(fù)載均衡器主要接收client的傳入流量,并按照負(fù)載均衡算法,將流量分發(fā)給LB node。x6O28資訊網(wǎng)——每日最新資訊28at.com

2.監(jiān)聽器

用戶可以向負(fù)載均衡器添加一個(gè)或者多個(gè)監(jiān)聽器,監(jiān)聽器主要用來配置協(xié)議和端口,根據(jù)檢查客戶端的流量連接請求,按照定義的轉(zhuǎn)發(fā)策略將請求的映射端口流量分發(fā)到后端真正承載業(yè)務(wù)的后端服務(wù)器和端口。x6O28資訊網(wǎng)——每日最新資訊28at.com

3.后端服務(wù)器

后端服務(wù)器就是業(yè)務(wù)的流量承載實(shí)體,可以是虛擬機(jī)、裸金屬和容器。監(jiān)聽器會(huì)對后端服務(wù)器進(jìn)行定期健康檢查,如果后端服務(wù)器有問題,將會(huì)從監(jiān)聽器中摘掉異常服務(wù)器,如果后端服務(wù)器恢復(fù)正常,監(jiān)聽器會(huì)自動(dòng)添加該服務(wù)器繼續(xù)為業(yè)務(wù)提供服務(wù)器。負(fù)載均衡器按照用戶設(shè)置的負(fù)載均衡算法(輪詢/最少鏈接/源地址),將流量分發(fā)到后端服務(wù)器。x6O28資訊網(wǎng)——每日最新資訊28at.com

圖3 LB后端網(wǎng)絡(luò)拓?fù)? title=圖3 LB后端網(wǎng)絡(luò)拓?fù)?/span>x6O28資訊網(wǎng)——每日最新資訊28at.com

每個(gè)LB node包括兩個(gè)網(wǎng)卡,分別為eth0和eth1。其中eth0為私有網(wǎng)絡(luò)地址,用于和后端服務(wù)通信,eth1為基礎(chǔ)網(wǎng)絡(luò)地址,用于接收client數(shù)據(jù)。Haproxy作為eth0和eth1數(shù)據(jù)通信的橋梁。根據(jù)圖3所示,LB后端網(wǎng)絡(luò)拓?fù)湓敿?xì)介紹了客戶端流量如何通過負(fù)載均衡集群,轉(zhuǎn)發(fā)流量到后端服務(wù)器,然后后端服務(wù)器將響應(yīng)數(shù)據(jù)如何返回至client。x6O28資訊網(wǎng)——每日最新資訊28at.com

首先client 通過訪問vip(1.2.3.252)到lb-node0,此時(shí)流量通過eth1網(wǎng)卡進(jìn)入iptables規(guī)則,通過 PREROUTING 表的LUSTER_DIVERT 鏈上的規(guī)則,打上 fwmark。fwmark 的值是根據(jù)監(jiān)聽器的端口來分配,具體以 iptables 規(guī)則中的 fwmark 值為準(zhǔn),一般從 0x2710 (即10000) 開始分配,和keepalive中virtual_server_group中的值一致。x6O28資訊網(wǎng)——每日最新資訊28at.com

然后流量到達(dá)lvs后,lvs根據(jù)fwmark配置,按照lvs配置算法,選擇一個(gè)LB node(1.2.3.9)接受流量,如圖3所示lvs對應(yīng)的配置。此時(shí)haproxy 已經(jīng)開啟端口監(jiān)聽,流量進(jìn)入haproxy 的應(yīng)用程序,按照RR算法,選擇一個(gè)合適的后端服務(wù)器進(jìn)行流量轉(zhuǎn)發(fā)。x6O28資訊網(wǎng)——每日最新資訊28at.com

此時(shí),通過查看LB node所在物理機(jī)hyper-1的arp信息和宿主機(jī)路由,流量到達(dá)br_vg_out網(wǎng)橋,按照bridge fdb流表配置,通過vxlan隧道,將請求數(shù)據(jù)發(fā)送至后端服務(wù)(1.2.3.6)所在的物理機(jī)hyper-3。hyper-3的內(nèi)核對vxlan解包后,數(shù)據(jù)流入到sxxx網(wǎng)橋,然后根據(jù)bridge fdb信息,將數(shù)據(jù)交付給最終的后端服務(wù)器。此時(shí)需要注意是在hyper-1上后端服務(wù)1.2.3.6的mac地址(圖中標(biāo)紅色)并不是其真正的mac地址,而是其所在物理服務(wù)器上網(wǎng)橋的一個(gè)網(wǎng)口pair的mac地址,它是封包流量的統(tǒng)一入口,最后會(huì)將流量轉(zhuǎn)發(fā)到最終后端服務(wù)。 x6O28資訊網(wǎng)——每日最新資訊28at.com

在hyper-3上的后端服務(wù)處理完client的請求后,響應(yīng)數(shù)據(jù)是如何返回至client的呢?從LB-node0過來的數(shù)據(jù)包,進(jìn)入hyper-3的iptables規(guī)則后,會(huì)對其打上fwmark,響應(yīng)數(shù)據(jù)通過查找hyper-3上的策略路由的fwmark值進(jìn)行路由匹配,然后將數(shù)據(jù)發(fā)送至hyper-3的br_vg_out網(wǎng)橋,通過vxlan隧道發(fā)送至LB-node0,此時(shí)數(shù)據(jù)不再經(jīng)過lvs服務(wù)(lvs采用DR工作模式),而是直接將響應(yīng)數(shù)據(jù)發(fā)送至client。x6O28資訊網(wǎng)——每日最新資訊28at.com

LB集群健康檢查


x6O28資訊網(wǎng)——每日最新資訊28at.com

圖4 LB node健康檢查x6O28資訊網(wǎng)——每日最新資訊28at.com


x6O28資訊網(wǎng)——每日最新資訊28at.com

1.LB node健康檢查

每個(gè)計(jì)算節(jié)點(diǎn)上都有l(wèi)xc-monitor守護(hù)進(jìn)程,它監(jiān)控著物理機(jī)上以LXC形式運(yùn)行的LB node,當(dāng)LB node 由于某些原因出現(xiàn)stop情況后,lxc-monitor會(huì)接收到lxc對應(yīng)的停止消息,并將該消息發(fā)送至lxc-event-handler,lxc-event-handler發(fā)送release指令給compute_server, compute_server 服務(wù)將會(huì)重建該LB node。同理,當(dāng)整個(gè)hyper意外宕機(jī)后,其pair-hyper探測到hyper網(wǎng)絡(luò)中斷后(hyper和pair-hyper 相互探活彼此),將會(huì)觸發(fā)重建hyper上面所有的LB node,保障LB node正常工作。x6O28資訊網(wǎng)——每日最新資訊28at.com

圖5 Listener健康檢查x6O28資訊網(wǎng)——每日最新資訊28at.com

2.Listener健康檢查

Keepalive 的master節(jié)點(diǎn)配置misc_check,會(huì)對LB node里面 haproxy 啟動(dòng)的監(jiān)聽器的監(jiān)聽端口進(jìn)行健康檢查,探測流量走VBC網(wǎng)絡(luò),即eth1網(wǎng)卡。通過使用nc -vz命令定期對ip和端口進(jìn)行探測,如果不通,則將它從lvs 后端摘掉,這樣業(yè)務(wù)流量就不會(huì)轉(zhuǎn)發(fā)到有問題監(jiān)聽器上了。x6O28資訊網(wǎng)——每日最新資訊28at.com

3.Haproxy對后端服務(wù)檢查

開啟健康檢測后,負(fù)載均衡器會(huì)根據(jù)對應(yīng)配置定期檢查后端服務(wù)的運(yùn)行狀態(tài),當(dāng)某個(gè)后端服務(wù)出現(xiàn)異常時(shí),會(huì)自動(dòng)隔離該后端服務(wù),并將請求轉(zhuǎn)發(fā)給其他健康的后端服務(wù),實(shí)現(xiàn)高可用性。x6O28資訊網(wǎng)——每日最新資訊28at.com

  • 健康檢查方式:
  • TCP:通過向后端服務(wù)器發(fā)送 TCP 包來檢測后端服務(wù)。
  • HTTP:通過向后端服務(wù)器發(fā)送 HTTP 請求來檢測后端服務(wù),你可以指定需要檢測的 URI。負(fù)載均衡器會(huì)通過 HTTP 返回值是否為200來判斷服務(wù)是否正常。
  • ICMP:通過向后端服務(wù)器發(fā)送 ICMP Echo Request 請求(即 ping)來檢查后端網(wǎng)絡(luò)是否可達(dá)。
  • UDP:UDP 方式會(huì) 結(jié)合 ICMP Echo Request 和 UDP port probe 兩種方式來檢查。
  • 健康檢查選項(xiàng):
  • 檢查間隔:連續(xù)兩次健康檢查之間的時(shí)間間隔,單位為秒,范圍為 2-60s。
  • 超時(shí)時(shí)間:等待健康檢查請求返回的超時(shí)時(shí)間,檢查超時(shí)將會(huì)被判定為一次檢查失敗,單位為秒,范圍為 5 - 300s。
  • 不健康閾值:多少次連續(xù)檢查失敗之后,可以將后端服務(wù)屏蔽,范圍為 2-10次。
  • 健康閾值:多少次連續(xù)檢查成功之后,可以將后端服務(wù)恢復(fù),范圍為 2-10次。

結(jié)束語

本文介紹了LB的組成原理、高可用架構(gòu)、網(wǎng)絡(luò)流量模型分析和健康檢查機(jī)制。只有全面深入了解負(fù)載均衡器的工作原理,才能快速定位業(yè)務(wù)在LB碰到的各種問題。LB可以為用戶提供強(qiáng)大的功能和靈活配置,便于用戶擴(kuò)展和管理應(yīng)用程序的基礎(chǔ)架構(gòu),并且提高了服務(wù)的可用性和穩(wěn)定性,為系統(tǒng)的構(gòu)建和性能延伸提供了強(qiáng)有力的支持。                                                          x6O28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-94590-0.html探析負(fù)載均衡器的實(shí)現(xiàn)原理

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: Kafka如何保證消息的不丟失與不重復(fù)

下一篇: Rust 在許多方面都優(yōu)于 Go,但為什么沒有 Go 流行?

標(biāo)簽:
  • 熱門焦點(diǎn)
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
亚洲人体影院| 狠狠色狠狠色综合| 欧美视频在线一区二区三区| 欧美久久婷婷综合色| 欧美日韩你懂的| 国产精品午夜视频| 国产一区二区欧美| 亚洲欧洲一区二区天堂久久 | 巨胸喷奶水www久久久免费动漫| 免费在线一区二区| 欧美日韩综合视频| 国产视频欧美视频| 亚洲精品日韩一| 性一交一乱一区二区洋洋av| 免费成人av在线| 欧美午夜视频网站| 一区在线免费观看| 一卡二卡3卡四卡高清精品视频| 欧美在线观看一区| 欧美欧美全黄| 狠狠色狠狠色综合日日tαg| 99这里只有久久精品视频| 欧美一区二区三区啪啪| 欧美极品aⅴ影院| 国产一区二区三区av电影| 亚洲剧情一区二区| 久久超碰97人人做人人爱| 欧美激情按摩在线| 国产专区精品视频| 亚洲自拍偷拍一区| 欧美激情视频在线播放| 国产伊人精品| 在线视频精品一区| 久久综合激情| 国产精品一二三视频| 亚洲黄色成人网| 久久高清一区| 国产精品国产三级国产aⅴ浪潮| 在线不卡中文字幕| 亚洲欧美日韩高清| 欧美日韩视频一区二区| 亚洲电影网站| 久久爱91午夜羞羞| 国产精品萝li| 99精品国产在热久久| 久久在线免费观看| 国产午夜精品一区二区三区欧美 | 国内成人精品2018免费看| 亚洲深夜av| 欧美国产激情| 伊人激情综合| 销魂美女一区二区三区视频在线| 欧美日韩极品在线观看一区| 在线精品视频在线观看高清| 欧美在线观看视频一区二区三区| 国产精品久久久久久久久久久久久 | 亚洲欧美韩国| 欧美日韩视频在线观看一区二区三区| 亚洲福利视频网站| 久久成人18免费观看| 国产精品青草久久久久福利99| 99re热精品| 欧美激情综合在线| 亚洲欧洲精品一区二区| 开心色5月久久精品| 国产一区观看| 久久国产欧美日韩精品| 国产乱码精品一区二区三区忘忧草 | 国模 一区 二区 三区| 性欧美8khd高清极品| 国产精品免费观看视频| 亚洲午夜精品国产| 国产精品99免费看 | 99国产精品国产精品毛片| 欧美国产视频一区二区| 亚洲高清色综合| 美女成人午夜| 亚洲国产成人91精品| 毛片一区二区| 亚洲激情一区二区三区| 欧美国产先锋| 亚洲每日在线| 欧美日韩免费网站| 99精品热视频只有精品10| 欧美日韩成人在线观看| 一本色道久久综合亚洲91| 欧美日韩一区二区国产| 亚洲视频香蕉人妖| 国产精品美女在线| 欧美一级片一区| 国产在线视频欧美| 久久狠狠久久综合桃花| 激情亚洲网站| 你懂的视频一区二区| 亚洲美女av黄| 国产精品成人一区二区三区夜夜夜| 亚洲一区中文字幕在线观看| 国产欧美 在线欧美| 久久久久九九九| 亚洲激情视频网站| 欧美日韩国产精品一卡| 亚洲一区久久久| 国产亚洲激情在线| 久久夜色精品国产| 亚洲乱亚洲高清| 国产精品久久久久av| 欧美诱惑福利视频| 在线免费观看视频一区| 欧美精品首页| 亚洲男人的天堂在线aⅴ视频| 国产欧美一区二区三区另类精品 | 在线观看亚洲精品| 欧美日韩国产999| 亚洲视频大全| 国产一区二区久久久| 久久中文精品| 一本色道久久综合一区 | 亚洲私拍自拍| 国产亚洲日本欧美韩国| 蜜臀久久99精品久久久久久9| 日韩西西人体444www| 国产精品午夜春色av| 久久综合久久久久88| 在线一区二区三区四区五区| 国产亚洲福利社区一区| 欧美激情aaaa| 久久不射中文字幕| 99国产精品久久久久久久| 国产精品美女久久久| 免费短视频成人日韩| 亚洲一区二区三区四区五区午夜| 韩国一区二区三区在线观看| 欧美日韩一区视频| 久久久欧美一区二区| 在线亚洲免费视频| 伊人狠狠色丁香综合尤物| 欧美偷拍另类| 免费人成精品欧美精品| 亚洲欧美日韩中文在线制服| 亚洲国产婷婷| 国产婷婷色一区二区三区在线| 欧美国产一区二区在线观看| 欧美一级精品大片| 99国产精品国产精品久久| 狠狠色狠狠色综合日日五| 国产精品护士白丝一区av| 久色婷婷小香蕉久久| 午夜精品久久久久久久蜜桃app| 亚洲第一网站| 国产麻豆午夜三级精品| 欧美日韩二区三区| 久久久国产午夜精品| 亚洲午夜av电影| 亚洲欧洲在线播放| 国内外成人在线| 国产精品青草综合久久久久99| 欧美精品观看| 久久综合狠狠综合久久综青草| 亚洲欧美韩国| 亚洲美女黄色片| 永久免费视频成人| 国产毛片久久| 欧美视频在线观看| 欧美成年视频| 久久久亚洲精品一区二区三区 | 国产精品久久久久久久第一福利| 欧美成人精品一区二区三区| 欧美在线播放| 亚洲综合首页| 亚洲精品视频免费观看| 一区二区三区在线不卡| 国产欧美日韩综合一区在线观看 | 欧美成人第一页| 久久久91精品国产| 先锋影音国产一区| 亚洲私人黄色宅男| 99re6热在线精品视频播放速度| 在线观看的日韩av| 国产又爽又黄的激情精品视频| 国产精品人人做人人爽| 欧美午夜a级限制福利片| 欧美另类高清视频在线| 欧美高清视频| 欧美 日韩 国产精品免费观看| 久久精品男女| 欧美在线视频一区二区| 午夜视频一区在线观看| 亚洲免费在线视频| 亚洲一区二区三区在线| 一区二区三区久久网| 夜夜嗨网站十八久久| 日韩午夜精品| 99xxxx成人网| 99视频在线观看一区三区| 日韩一二三在线视频播| 日韩一区二区精品葵司在线| 99国产精品私拍| 一区二区三区国产在线观看| 亚洲免费电影在线| 日韩亚洲成人av在线| 99视频精品| 亚洲深夜福利在线| 亚洲一区二区三区四区视频 | 久久久精品一区|