<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          微服務(wù)的風(fēng)險(xiǎn):分布式固有的復(fù)雜性、服務(wù)的依賴性及雪崩效應(yīng)

          共 1856字,需瀏覽 4分鐘

           ·

          2022-01-23 01:20


          上文給大家介紹的內(nèi)容是微服務(wù)容錯(cuò)與隔離:隔離機(jī)制,那么本文就給大家來(lái)介紹微服務(wù)容錯(cuò)與隔離:微服務(wù)的風(fēng)險(xiǎn);

          微服務(wù)的風(fēng)險(xiǎn)

          在微服務(wù)架構(gòu)下,傳統(tǒng)的單體應(yīng)用被拆分為多個(gè)服務(wù)后,服務(wù)的數(shù)量變多了,同時(shí)之前單體架構(gòu)下進(jìn)程內(nèi)部的方法調(diào)用轉(zhuǎn)變?yōu)榉植际骄W(wǎng)絡(luò)環(huán)境下的遠(yuǎn)程調(diào)用,因此構(gòu)建分布式微服務(wù)系統(tǒng)帶來(lái)了額外的開(kāi)銷。

          ● 性能:分布式系統(tǒng)是跨進(jìn)程、跨網(wǎng)絡(luò)的調(diào)用,受網(wǎng)絡(luò)延遲和帶寬的影響。

          ● 可靠性:由于高度依賴于網(wǎng)絡(luò)狀況,任何一次的遠(yuǎn)程調(diào)用都有可能失敗,隨著服務(wù)的增多還會(huì)出現(xiàn)更多的潛在故障點(diǎn)。因此,如何提高系統(tǒng)的可靠性、降低因網(wǎng)絡(luò)導(dǎo)致的故障率是系統(tǒng)構(gòu)建的一大挑戰(zhàn)。

          ● 異步:異步通信大大增加了功能實(shí)現(xiàn)的復(fù)雜度,并且有定位難、調(diào)試難等問(wèn)題。

          ● 數(shù)據(jù)一致性:要保證分布式系統(tǒng)的數(shù)據(jù)強(qiáng)一致性成本是非常高的,需要在C(一致性)、A(可用性)、P(分區(qū)容錯(cuò)性)三者之間做出權(quán)衡。

          下面是微服務(wù)場(chǎng)景下我們會(huì)面臨的常見(jiàn)風(fēng)險(xiǎn)。

          分布式固有的復(fù)雜性

          分 布 式 系 統(tǒng) 的 CAP 理 論 告 訴 我 們 分 區(qū) 容 錯(cuò) ( PartitionTolerance)是不可避免的。如下圖所示,G1和G2是兩臺(tái)分布式跨網(wǎng)絡(luò)的服務(wù)器,G1向G2發(fā)送一條信息,G2可能無(wú)法收到。所以,對(duì)于分布式系統(tǒng),只要具有大于零的概率,根據(jù)墨菲定律你就不能避免它發(fā)生。


          分布式系統(tǒng)中多個(gè)計(jì)算機(jī)在進(jìn)行通信過(guò)程中,由于網(wǎng)絡(luò)的不可靠性,每次網(wǎng)絡(luò)通信都會(huì)伴隨網(wǎng)絡(luò)不可用的風(fēng)險(xiǎn)。即便網(wǎng)絡(luò)通信正常,服務(wù)的延遲也會(huì)遠(yuǎn)遠(yuǎn)大于單機(jī)下的調(diào)用延遲。所以消息丟失或者延遲是非常普遍的情況。

          基于上述分析,我們?cè)谶M(jìn)行微服務(wù)系統(tǒng)架構(gòu)設(shè)計(jì)的時(shí)候,就必須考慮當(dāng)網(wǎng)絡(luò)分區(qū)出現(xiàn)時(shí),分布式系統(tǒng)就會(huì)出現(xiàn)局部服務(wù)失效問(wèn)題,我們需要做出相應(yīng)的服務(wù)容錯(cuò)處理。

          服務(wù)的依賴性

          在微服務(wù)架構(gòu)場(chǎng)景下,除了微服務(wù)自身缺陷造成的服務(wù)不可用,對(duì)基礎(chǔ)設(shè)施的依賴、對(duì)上下游微服務(wù)的依賴都可能造成依賴錯(cuò)誤的發(fā)生。相比服務(wù)自身失敗而言,服務(wù)對(duì)外部平臺(tái)的依賴往往更加難以發(fā)現(xiàn)和處理,服務(wù)依賴失敗也是在設(shè)計(jì)微服務(wù)時(shí)需要重點(diǎn)考慮的失敗因素。同時(shí),細(xì)粒度的服務(wù)也增加了不同服務(wù)之間的依賴和級(jí)聯(lián)影響,因?yàn)榉?wù)依賴失敗而造成的失敗擴(kuò)散,或者核心服務(wù)對(duì)非核心業(yè)務(wù)的依賴,都會(huì)造成依賴風(fēng)險(xiǎn)。

          雪崩效應(yīng)

          我們常把“基礎(chǔ)服務(wù)故障”導(dǎo)致“級(jí)聯(lián)故障”的現(xiàn)象稱為雪崩效應(yīng)。雪崩效應(yīng)描述的是服務(wù)生產(chǎn)者不可用導(dǎo)致消費(fèi)者不可用,并將不可用逐漸放大的過(guò)程。

          軟件系統(tǒng)會(huì)發(fā)生各種錯(cuò)誤,如硬件設(shè)施的損壞、軟件系統(tǒng)內(nèi)存溢出和資源的OOM等問(wèn)題,在微服務(wù)架構(gòu)下,我們可能還會(huì)遇到的問(wèn)題就是雪崩效應(yīng)。微服務(wù)架構(gòu)的應(yīng)用系統(tǒng)通常包含多個(gè)服務(wù)層。微服務(wù)之間通過(guò)網(wǎng)絡(luò)進(jìn)行通信,從而支撐起整個(gè)應(yīng)用系統(tǒng),因此微服務(wù)之間難免存在依賴關(guān)系。在公司內(nèi)部的網(wǎng)絡(luò)拓?fù)渲校覀儠?huì)發(fā)現(xiàn)一個(gè)HTTP服務(wù)的請(qǐng)求往往會(huì)經(jīng)歷很多個(gè)服務(wù)節(jié)點(diǎn),例如,一個(gè)電商平臺(tái)的下單場(chǎng)景往往會(huì)經(jīng)過(guò)如下鏈路:App客戶端→API網(wǎng)關(guān)→賬單服務(wù)→支付服務(wù)→庫(kù)存服務(wù)。但是,在錯(cuò)綜復(fù)雜的網(wǎng)絡(luò)中各式各樣的問(wèn)題(硬件原因、軟件原因)都會(huì)造成系統(tǒng)異常,難免有些請(qǐng)求會(huì)失敗,雪崩效應(yīng)就此產(chǎn)生。

          ● 硬件故障:比如宕機(jī)、機(jī)房斷電、光纖被挖斷等。

          ● 流量激增:比如異常流量或者用戶重試導(dǎo)致的系統(tǒng)負(fù)載升高。

          ● 程序Bug:比如代碼循環(huán)調(diào)用的邏輯問(wèn)題、資源未釋放引起的內(nèi)存泄漏問(wèn)題等。

          ● 線程同步等待:系統(tǒng)間經(jīng)常采用同步服務(wù)調(diào)用模式,核心服務(wù)和非核心服務(wù)共用一個(gè)線程池和消息隊(duì)列,如果一個(gè)核心業(yè)務(wù)線程調(diào)用非核心線程,這個(gè)非核心線程交由第三方系統(tǒng)完成,當(dāng)?shù)谌较到y(tǒng)本身出現(xiàn)問(wèn)題時(shí),導(dǎo)致核心線程阻塞,一直處于等待狀態(tài),而進(jìn)程間的調(diào)用是有超時(shí)限制的,最終這條線程將斷掉,引發(fā)雪崩效應(yīng)。

          總之,面對(duì)微服務(wù)架構(gòu)場(chǎng)景下的風(fēng)險(xiǎn),我們需要一定的應(yīng)對(duì)措施和容錯(cuò)策略,下面是我們總結(jié)的容錯(cuò)管理的主要原則:

          ● 按照進(jìn)程或者線程進(jìn)行軟件的劃分和隔離。

          ● 將錯(cuò)誤限制在可以快速失敗(fail-fast)的軟件模塊中,避免錯(cuò)誤模塊對(duì)整體系統(tǒng)造成影響。

          ● 使用備份機(jī)制或者集群方式應(yīng)對(duì)硬件或者軟件的故障。

          本文給大家講解的內(nèi)容是微服務(wù)容錯(cuò)與隔離:微服務(wù)的風(fēng)險(xiǎn)

          1. 下篇文章給大家講解的內(nèi)容是微服務(wù)容錯(cuò)與隔離:降級(jí)保護(hù)

          2. 覺(jué)得文章不錯(cuò)的朋友可以轉(zhuǎn)發(fā)此文關(guān)注小編;

          3. 感謝大家的支持!



          瀏覽 43
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲 变态 欧美 另类 精品 | 中国女人真人一级毛片 | 麻豆传媒在线看免费版高清视频 | 三级网站视频在线观看 | 北条麻妃一区二区三区 |