本文長度為2042字,建議閱讀6分鐘。所有「」包裹的文字,只對第一次出現(xiàn)進(jìn)行高亮顯示。
成都地區(qū)優(yōu)秀IDC服務(wù)器托管提供商(創(chuàng)新互聯(lián)建站).為客戶提供專業(yè)的成都服務(wù)器托管,四川各地服務(wù)器托管,成都服務(wù)器托管、多線服務(wù)器托管.托管咨詢專線:028-86922220
咳咳,從這篇開始,正式拉開分布式系統(tǒng)關(guān)注點(diǎn)中,我認(rèn)為第二重要的內(nèi)容 —— 「高可用」。
本篇的要點(diǎn)主要是明確「高可用」的定義,以及了解在分布式系統(tǒng)下哪些環(huán)節(jié)要做「高可用」,為后續(xù)要講的策略、方式方案打下基礎(chǔ)。如有1年以上的分布式系統(tǒng)實(shí)戰(zhàn)經(jīng)驗(yàn)可酌情選擇跳過本篇。
Tips:「高XX」中的“高”其實(shí)是相對的,越滿足期望值,就越是“高”的。
一、「高可用」的作用?
首先,統(tǒng)一下對「高可用」的認(rèn)知。
做個(gè)通俗一點(diǎn)的類比:獨(dú)生子女時(shí)代的子女就是“單體應(yīng)用”,如果出意外了,父母就「失獨(dú)」了,整個(gè)家族的傳承就斷了,“不可用”了。然而,二胎政策就是通過分布式(冗余)來降低出現(xiàn)這個(gè)問題的概率,從而提高“可用性”。
對于「高可用」,專業(yè)的解釋是:
「高可用」指的是通過盡量縮短因日常維護(hù)操作(計(jì)劃)和突發(fā)的系統(tǒng)崩潰(非計(jì)劃)所導(dǎo)致的停機(jī)時(shí)間,以提高系統(tǒng)和應(yīng)用的可用性。
—— 百度百科
簡而言之,不管發(fā)生了什么(哪怕是地震、洪水了),能夠讓用戶盡可能的無感知,依舊能正常使用系統(tǒng),也就是越「高可用」的。
為什么在「數(shù)據(jù)一致性」后面就聊「高可用」呢?我的理解是,分布式系統(tǒng)的關(guān)鍵是做冗余,但是冗余的大敵人卻是「數(shù)據(jù)一致性」。我們通過冗余打破了原先的瓶頸,打開了一些新的通道。如,可以去爭取更高的可用性、更高的性能等等。但是這其中,屬「高可用」最重要。從上面引用中的解釋也可以看到,要想盡可能的降低停機(jī)時(shí)間,單體應(yīng)用的天花板總會(huì)更快的到來。就好比讓一臺(tái)電腦永遠(yuǎn)保持運(yùn)行是困難的,期間總得更新幾次操作系統(tǒng)、突然出現(xiàn)幾次硬件故障,甚至機(jī)房的光纖被挖斷了!那么這個(gè)時(shí)候就處于“不可用”狀態(tài)。
也因此,我認(rèn)為「高可用」的價(jià)值或者說意義,必定是在我們做分布式系統(tǒng)獲得的其它好處之上的,比如「高性能」之類。因?yàn)椋谝欢ǚ秶鷥?nèi),所謂的「高性能」其實(shí)通過優(yōu)化單體應(yīng)用也有可能達(dá)到某個(gè)期望值,但是「高可用」則必然需要依賴分布式系統(tǒng)才能達(dá)到。
二、如何來衡量「高可用」
一般我們講到最多的是用Service Level Agrement來衡量高可用指標(biāo),簡稱SLA。不過,其原意表示的是關(guān)于網(wǎng)絡(luò)服務(wù)供應(yīng)商和客戶間的一份合同,其中定義了服務(wù)類型、服務(wù)質(zhì)量和客戶付款等術(shù)語,其中還包含除了「有效工作時(shí)間」之外的其它概念,如帶寬、服務(wù)就緒時(shí)間(RFSD)、平均故障間隔時(shí)間(MTBF)、服務(wù)平均恢復(fù)時(shí)間(MTRS)、平均修理時(shí)間(MTTR)等。最初,SLA多用于電信運(yùn)營商之類的基礎(chǔ)設(shè)施所提供的服務(wù)中,商定用戶可以享受什么樣的等級什么樣的帶寬服務(wù)等等。
SLA完整的定義會(huì)復(fù)雜的多,在軟件系統(tǒng)中主要是取了其中的「有效工作時(shí)間」部分。只要系統(tǒng)一直能夠提供服務(wù),我們就可以說系統(tǒng)的可用性是100%,但這只停留在理想中。如果系統(tǒng)每運(yùn)行100個(gè)時(shí)間單位,會(huì)有1個(gè)時(shí)間單位無法提供服務(wù),我們說系統(tǒng)的可用性是99%。貼一張常見的表格圖:
▲圖片來源于網(wǎng)絡(luò),版權(quán)歸原作者所有
如今,我們的生活越來越依賴于移動(dòng)互聯(lián)網(wǎng)的一些應(yīng)用,假設(shè)支付寶掛了幾個(gè)小時(shí),這下好了,刷不了卡了、轉(zhuǎn)不了帳了、信用卡也還不了了,慌不慌?
不過,相對的,還可以投機(jī)的理解為,只要我能保證系統(tǒng)在你使用它的時(shí)候是可用的,那么對外宣傳也可以是「高可用」的。這也是在互聯(lián)網(wǎng)普及之前,很多企業(yè)的內(nèi)部C/S架構(gòu)的信息系統(tǒng)得以正常使用的原因,比如銀行會(huì)在非營業(yè)時(shí)間更新他們的系統(tǒng),所以對于服務(wù)窗口的營業(yè)員來說,系統(tǒng)并沒有不可用,因?yàn)槟莻€(gè)時(shí)候我不需要用它。
三、做「高可用」的本質(zhì)
做「高可用」用一句話來概括就是:
更快的發(fā)現(xiàn)故障,更快的隔離故障。
任何對這2點(diǎn)有幫助的工作就是我們要做的事情。
做任何事情都有主次之分,做高可用的“主”就是「負(fù)載均衡」。
之前的文章中提到過多次,分布式系統(tǒng)的關(guān)鍵是做冗余,那么讓這些冗余能發(fā)揮「高可用」作用的就是「負(fù)載均衡」。所以,這是最基本的,也是邁向「高可用」的第一步,其它的措施都是建立在「負(fù)載均衡」之上的。
「負(fù)載均衡」的作用是一個(gè)“連接者”,讓上下游之間以我期望的方式“連接”起來。所以,有必要先了解一下這些上下游的全貌,并且從中找到我們要做「負(fù)載均衡」的地方。
分布式系統(tǒng)有各式各樣的架構(gòu)方式,不過本質(zhì)上都是上圖這樣的一個(gè)分層架構(gòu)。圖中紅點(diǎn)標(biāo)記出的地方就是我們需要做「負(fù)載均衡」的地方,可以看到,就是每兩層之間的連接處。
這些連接處在實(shí)際做「負(fù)載均衡」的時(shí)候,需要結(jié)合所處的網(wǎng)絡(luò)層次。因?yàn)樵诓煌木W(wǎng)絡(luò)層次有不同的做法。如下圖。
一般主流的四層負(fù)載均衡和七層負(fù)載均衡,前者指的就是傳輸層,主要涉及的協(xié)議是TCP、UDP等,后者指的應(yīng)用層,主要涉及的協(xié)議是Http、Https和FTP等。
用來實(shí)現(xiàn)「負(fù)載均衡」的解決方案有很多,分為基于硬件或者基于軟件的,比較成熟的諸如:F5(支持四層、七層)、LVS(支持四層)、Nginx(支持七層)等等。
近些年,隨著Service Mesh的興起,隨著涌現(xiàn)了一大批新一代的「負(fù)載均衡」解決方案,如Envoy、Istio、Linkerd、Ribbon等,有興趣的小伙伴們可以自行研究下。
四、結(jié)語
這篇先起個(gè)步,下篇聊聊有哪些做「負(fù)載均衡」的策略,用圖說話。
作者:Zachary(個(gè)人×××號(hào):Zachary-ZF)
×××公眾號(hào)(首發(fā)):跨界架構(gòu)師。<-- 點(diǎn)擊查閱近期熱門文章
定期發(fā)表原創(chuàng)內(nèi)容:架構(gòu)設(shè)計(jì)丨分布式系統(tǒng)丨產(chǎn)品丨運(yùn)營丨一些深度思考。
掃碼加入小圈子 ↓
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)站名稱:分布式系統(tǒng)關(guān)注點(diǎn)——初識(shí)「高可用」-創(chuàng)新互聯(lián)
文章鏈接:http://aaarwkj.com/article14/giige.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)、面包屑導(dǎo)航、ChatGPT、網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容