版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 負載均衡SLB高可用架構介紹21CTO 微信號 we21cto功能介紹 21CTO(21)是一個高質量、個性化的學習與服務平臺。提供教育培訓、學習分享、人脈資源等產(chǎn)品,匯聚國內外IT互聯(lián)網(wǎng)最優(yōu)秀的CTO&技術專家,連接人與知識的價值服務。摘要:負載均衡支持對多臺ECS進行流量分發(fā),以提升應用系統(tǒng)的服務能力,長期以來都是關鍵業(yè)務系統(tǒng)的入口。淘寶,天貓,阿里云等無不依賴負載均衡產(chǎn)品,雙11的流量洪峰也依賴負載均衡的調度和處理能力。負載均衡SLB簡單介紹下圖是負載均衡的簡單示意圖,用戶的訪問請求經(jīng)過SLB實例的一個監(jiān)聽(端口),再被轉發(fā)到后端的ECS上。SLB實例對應一個IP地址,監(jiān)聽就是實例上I
2、P地址的一個端口,流量調度是基于監(jiān)聽(端口)進行的,ECS是真正處理服務請求的。負載均衡SLB架構下圖是從流量轉發(fā)路徑來看的負載均衡SLB的架構圖,可以稱為一個負載均衡SLB的集群,這個集群部署在華東1的兩個可用區(qū),每個可用區(qū)都部署了LVS集群和Tengine集群,其中LVS集群負責接收所有流量的請求,包括TCP/UDP/HTTP/HTTPS,對于TCP和UDP請求,LVS集群會直接將流量轉發(fā)到后端ECS,對于HTTP/HTTPS 請求會將流量轉發(fā)給Tengine集群,再轉發(fā)到后端ECS上。負載均衡SLB高可用的四個層次為了便于理解和說明,可以將負載均衡SLB高可用劃分為四個層次,如圖上圖所示
3、,第1層是應用處理層,即真正處理請求的ECS層。第2層是集群轉發(fā)層,即在集群轉發(fā)層面要保證高可用,第3層是跨可用區(qū)容災層,在出現(xiàn)可用區(qū)級別的故障時可以切換,第4層是跨地域容災層,上圖未標示。下面分別從這4個層次進行分析和說明。特別要說明的是,產(chǎn)品設計上SLB會盡可能做到高可用,但如果用戶系統(tǒng)沒有高可用設計,最終也不可能實現(xiàn)真正的高可用,而且除了負載均衡,還有數(shù)據(jù)庫等的高可用問題,因此產(chǎn)品設計的高可用和用戶系統(tǒng)設計高可用必須結合起來。下面4個層次的說明也會分別從產(chǎn)品設計和用戶使用兩個角度進行分析和解讀。第一層 應用處理層應用處理層是真正處理用戶請求的,一般將應用部署在ECS上。從產(chǎn)品設計角度看:
4、應用處理層的高可用主要有下面兩點,一是要保證ECS出現(xiàn)故障時能及時屏蔽,避免將流量轉發(fā)到故障節(jié)點從而影響用戶訪問,SLB產(chǎn)品是通過健康檢查功能實現(xiàn)的。二是SLB實例能夠添加多臺ECS,特別是可以添加不同可用區(qū)的ECS,從而避免一個可用區(qū)的ECS均不可用時影響用戶訪問。這兩點目前SLB產(chǎn)品都可以做到。從用戶使用角度看:首先,用戶一定要開啟并正確配置健康檢查。SLB支持TCP/UDP/HTTP/HTTPS 四種協(xié)議,其中對TCP協(xié)議提供了TCP和HTTP兩種健康檢查方式,用戶可以根據(jù)需要選擇。對UDP協(xié)議,用戶可以定義UDP健康檢查端口,還可以根據(jù)自己定義健康檢查請求和返回值來判斷健康檢查結果。對
5、于HTTP和HTTPS協(xié)議,默認使用HTTP健康檢查,用戶可以定義一個健康檢查URL,負載均衡的健康檢查模塊會通過HTTP HEAD來探測獲取狀態(tài)。關于健康檢查詳細信息可以參考健康檢查原理說明其次,用戶要考慮到單可用區(qū)ECS都不可用的情況,選擇多個可用區(qū)的ECS添加到負載均衡SLB的實例中。用戶可能有疑問,如果一個可用區(qū)的ECS不可用了,那這個可用區(qū)的負載均衡是不是也會不可用?這個問題在稍后的第三層來說明。第二層 集群轉發(fā)層集群轉發(fā)層指的是負載轉發(fā)用戶請求的SLB集群,包括LVS 集群和Tengine集群,不管是機器故障還是集群升級,都要保障用戶請求盡可能不中斷,從產(chǎn)品設計角度看:首先,必須避
6、免單點故障,如果采用傳統(tǒng)的主備切換模式一方面在切換的時候可能影響用戶請求,另一方面主備切換還是依賴單機的處理能力,無法很好的橫向擴充,因此,轉發(fā)層不管是LVS還是Tengine集群都集群部署,并通過上層交換機的ECMP等價路由還實現(xiàn)用戶請求到集群多臺機器的流量轉發(fā)??瓷厦娴募軜媹D可能用戶有疑問,TENGINE集群是接在LVS集群后面的,上層交換機的ECMP如何起作用呢?其實LVS集群對Tengine集群也是有健康檢查機制的,即如果Tengine集群的機器出現(xiàn)異常,LVS健康檢查發(fā)現(xiàn)后會將這臺異常的Tengine機器從集群中摘除。其次,在集群中機器出現(xiàn)down機等異常時盡可能不影響用戶請求。有了
7、集群部署后,集群中的機器出現(xiàn)軟硬件故障還是難以避免的,有可能機器徹底不可用了或者有異常了需要通過運維手段將這臺機器從集群中移出并維修,這個時候這臺機器上的用戶請求要盡可能做到不中斷。SLB集群是通過Session同步來實現(xiàn)集群中有機器故障時盡可能不影響用戶請求的。如下圖所示,當用戶的訪問請求經(jīng)過集群中的一臺LVS時,集群會根據(jù)預設的規(guī)則將Session同步到其它LVS機器,從而實現(xiàn)LVS集群所有機器都有該Session,當如下圖中的LVS1機器出現(xiàn)故障或需要維護時,用戶請求就會通過其它LVS機器進行流量轉發(fā)并且用戶基本不感知。但是有Session同步不代表就解決了所有問題,Session同步能
8、解決大部分長連接的問題,但是對于短鏈接,連接未建立(三次握手未完成)或者已建立連接但是還沒有觸發(fā)Session同步規(guī)則時,機器故障還是可能會影響用戶請求。因此,需要用戶的系統(tǒng)和程序進行配合。從用戶使用角度看,一定要在代碼中加上相應的重試機制! 這樣在上述情況出現(xiàn)時,會進一步降低對用戶訪問影響。第三層 跨可用區(qū)容災層上面說的是在一個可用區(qū)內負載均衡轉發(fā)集群的高可用,跨可用容災層則要解決的是當一個可用區(qū)都不可用時,還能繼續(xù)使用另外一個可用區(qū)的負載均衡繼續(xù)提供服務。從產(chǎn)品設計角度看:還是如看SLB架構圖,首先,負載均衡集群要實現(xiàn)跨可用區(qū)部署。另外,還需要一種機制能及時發(fā)現(xiàn)其中某個可用區(qū),如可用區(qū)A都
9、出現(xiàn)了故障然后切換到另外一個可用區(qū)B繼續(xù)服務。從技術上講,使用了路由探測和路由優(yōu)先級機制來實現(xiàn),即可用區(qū)A的一段地址(對應一批SLB實例1-N)除了在本可用區(qū)的集群上配置外,其實底層還在可用區(qū)B的集群上也有這段地址(對應一批SLB實例1-N),只不過在正常情況下,由于可用區(qū)A的這段地址路由優(yōu)先級更高,所以流量都從可用區(qū)A的集群進行轉發(fā),如果路由探測到整個可用區(qū)A不可用(路由不可達)或者可用區(qū)A的某段地址不可用(路由不可達),則路由到可用區(qū)B的集群進行流量轉發(fā)。從用戶對產(chǎn)品形態(tài)的感知上來說,就是主可用區(qū)和備可用區(qū),但實例上的這個主備可用區(qū)用戶選擇后就無法更改了,用戶也無法自行切換主備關系。也就是
10、說主備可用區(qū)是底層的機制,用戶一旦選擇無法干預了。暴露主備可用區(qū)概念的原因一方面希望用戶在使用SLB和其它有可用區(qū)屬性的產(chǎn)品進行組合的時候,能做到按需組合,如ECS可用區(qū),RDS的主備可用區(qū)等。另一方面也是希望用戶更多認知到產(chǎn)品在高可用方面的價值。不過在實際使用時,用戶往往存在誤區(qū),這些誤區(qū)使我們考慮是不是要關閉備可用區(qū)概念,只對用戶暴露主可用區(qū),后面再來解釋這些誤區(qū)。回過頭來說跨可用區(qū)高可用,其實,最理想的情況是一個可用區(qū)的一個SLB實例出現(xiàn)異常(路由不可達)時,系統(tǒng)就能夠自動切換或者用戶能手動切換到另外一個可用區(qū)的SLB實例繼續(xù)服務。但不能這樣做的主要原因是需要發(fā)布明細路由,即32位路由,
11、而這在云環(huán)境中是無法接受的。從用戶使用角度看:首先,跨可用區(qū)容災需要保證一個SLB實例的后端服務器ECS分布在多個可用區(qū),即避免一個可用區(qū)不可用時,SLB后端的ECS都無法使用從而影響用戶訪問,這點在第一層 應用處理層中已經(jīng)說明了。當然,如果還使用DB等產(chǎn)品,還需要考慮DB的跨可用區(qū)容災問題,用戶可以參考DB相關產(chǎn)品的說明。這里主要談負載均衡本身以及和負載均衡緊密相關的后端服務器ECS的高可用問題。其次,對于重要的業(yè)務,一定要使用至少兩個且主可用區(qū)不一樣的實例來容災,這點非常重要。如重要的用戶注冊系統(tǒng),如下圖所示,在華東1的可用區(qū)A和可用區(qū)B分布部署一個SLB實例,都掛載了兩個可用區(qū)的相同EC
12、S。用戶可能會有兩個疑問,一是負載均衡SLB產(chǎn)品本身有跨可用區(qū)切換能力,為什么注冊系統(tǒng)還需要自己在兩個可用區(qū)建立兩個實例進行跨可用區(qū)容災呢?負載均衡SLB產(chǎn)品本身的跨可用區(qū)切換是在非常極端的情況下(整個可用區(qū)不可用/所有LVS集群上的IP無法路由/某個地址段都無法路由)才切換,而對于比如僅一個可用區(qū)的Tengine有部分異常、LVS集群有異常但是IP還可以Ping通等相對不那么極端又會影響用戶業(yè)務的情況下是不起作用的,因此,重要的業(yè)務系統(tǒng)非常有必要用戶自己在兩個可用區(qū)建立實例容災。二是注冊系統(tǒng)使用的兩個SLB實例如何調度,用戶可以使用云解析將注冊系統(tǒng)的域名解析到上面的兩個SLB實例,其它的相關
13、域名解析系統(tǒng)也都支持這樣的功能。如果是私網(wǎng)SLB實例,阿里云正在研發(fā)私網(wǎng)DNS系統(tǒng),當前用戶可以自己構建一個私網(wǎng)DNS系統(tǒng)或者通過程序來實現(xiàn)調度。再次強調一下重要業(yè)務系統(tǒng)用戶自行在兩個可用區(qū)建立實例容災的必要性。哪怕正常情況下有一個實例就配置好不使用,雖然需要支付每小時2分錢的公網(wǎng)IP費用,但當出現(xiàn)其中一個實例所在集群異常并且恢復時間較長時,用戶也可以自行通過修改DNS解析或者程序調用地址來快速恢復業(yè)務。最后,再來說下用戶對于主備可用區(qū)可能存在的誤區(qū)1) 認為主備可用區(qū)就是只要一個實例有異常了負載均衡就能自動切換到備可用區(qū)2) 認為主備可用區(qū)切換的異常包括個別實例無法Ping、實例上的服務異常
14、等等很多條件其實,負載均衡主備可用區(qū)切換設計是在極端情況下(整個可用區(qū)不可用/所有LVS集群上的IP無法路由/某個地址段都無法路由)才會自動進行的,它既不是某個IP地址無法路由就切換,也不是某個或者某些IP地址可以Ping但這些IP的服務異常就切換。因此,用戶系統(tǒng)通過自身在多個可用區(qū)建立實例實現(xiàn)跨可用區(qū)災是非常必要的。第四層 跨地域容災層最后來說下跨地域容災層。隨著業(yè)務的發(fā)展,用戶對業(yè)務系統(tǒng)的高可用要求越來越高,已經(jīng)不滿足于只能做到跨可用區(qū)的容災,用戶希望即使某個地域的系統(tǒng)都不可用了,還可用通過其它地域的系統(tǒng)繼續(xù)提供服務,這就是跨地域容災??绲赜蛉轂氖莻€非常大的課題,不僅僅涉及到網(wǎng)絡層面,更涉及到應用系統(tǒng)的改造和適配,數(shù)據(jù)的同步和一致性等很棘手的問題。這里僅說明下網(wǎng)絡層面的跨地域容災。從產(chǎn)品角度看,跨可用區(qū)容災一般是通過DNS來實現(xiàn)的,如下圖所示傳統(tǒng)的如F5的全局負載均衡(以前叫GTM,現(xiàn)在叫BIG-IP DNS)就有比較完善的解決方案,或者一些提供DNS服務的系統(tǒng)也有類似的功能。負載均衡SLB產(chǎn)品本身沒有提供
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 41232.8-2024納米制造關鍵控制特性納米儲能第8部分:納米電極材料中水分含量的測定卡爾·費休庫侖滴定法
- 誠信教育活動方案
- 培養(yǎng)管理能力
- 品質經(jīng)理的年終總結
- 禮貌課課件教學課件
- 采樣定理課件教學課件
- 2.3.2氣體摩爾體積 課件高一上學期化學人教版(2019)必修第一冊
- 吉林省2024七年級數(shù)學上冊第2章整式及其加減階段綜合訓練范圍2.4課件新版華東師大版
- 流行病調查畢業(yè)論文
- 文明出行校園交通安全教育主題班會課件
- 裝飾裝修工程施工流程方案
- 2023-2024學年深圳市初三中考適應性考試英語試題(含答案)
- 《漏電保護器》課件
- 巖質高陡邊坡穩(wěn)定性分析評價
- 私立民辦高中學校項目招商引資方案
- 《快遞操作須知》課件
- 工商管理學科發(fā)展前沿
- 【臨床貓瘟的診斷與治療3500字(論文)】
- 2069-3-3101-002 WKB產(chǎn)品判定準則-外發(fā)
- 愛物惜物教案反思
- 市政工程安全文明施工措施費提取和使用計劃
評論
0/150
提交評論