<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ǎng)易云原生架構(gòu)轉(zhuǎn)型之路

          共 2018字,需瀏覽 5分鐘

           ·

          2021-09-26 07:24


          什么是 Service Mesh?一言以蔽之:Service Mesh 是微服務(wù)時(shí)代的 TCP/IP 協(xié)議。


          為了理清這些繁復(fù)的產(chǎn)品和概念,我們先來了解下微服務(wù)和Service Mesh技術(shù)的歷史發(fā)展脈絡(luò)。
          時(shí)代0:開發(fā)人員想象中,不同服務(wù)間通信的方式,抽象表示如下:

          時(shí)代1:原始通信時(shí)代

          然而現(xiàn)實(shí)遠(yuǎn)比想象的復(fù)雜,在實(shí)際情況中,通信需要底層能夠傳輸字節(jié)碼和電子信號的物理層來完成,在TCP協(xié)議出現(xiàn)之前,服務(wù)需要自己處理網(wǎng)絡(luò)通信所面臨的丟包、亂序、重試等一系列流控問題,因此服務(wù)實(shí)現(xiàn)中,除了業(yè)務(wù)邏輯外,還夾雜著對網(wǎng)絡(luò)傳輸問題的處理邏輯。


          時(shí)代2:TCP時(shí)代

          為了避免每個(gè)服務(wù)都需要自己實(shí)現(xiàn)一套相似的網(wǎng)絡(luò)傳輸處理邏輯,TCP協(xié)議出現(xiàn)了,它解決了網(wǎng)絡(luò)傳輸中通用的流量控制問題,將技術(shù)棧下移,從服務(wù)的實(shí)現(xiàn)中抽離出來,成為操作系統(tǒng)網(wǎng)絡(luò)層的一部分。


          時(shí)代3:第一代微服務(wù)

          在TCP出現(xiàn)之后,機(jī)器之間的網(wǎng)絡(luò)通信不再是一個(gè)難題,以GFS /BigTable /MapReduce為代表的分布式系統(tǒng)得以蓬勃發(fā)展。這時(shí),分布式系統(tǒng)特有的通信語義又出現(xiàn)了,如熔斷策略、負(fù)載均衡、服務(wù)發(fā)現(xiàn)、認(rèn)證和授權(quán)、quota限制、trace和監(jiān)控等等,于是服務(wù)根據(jù)業(yè)務(wù)需求來實(shí)現(xiàn)一部分所需的通信語義。


          時(shí)代4:第二代微服務(wù)

          為了避免每個(gè)服務(wù)都需要自己實(shí)現(xiàn)一套分布式系統(tǒng)通信的語義功能,隨著技術(shù)的發(fā)展,一些面向微服務(wù)架構(gòu)的開發(fā)框架出現(xiàn)了,如Twitter的Finagle、Facebook的Proxygen以及Spring Cloud等等,這些框架實(shí)現(xiàn)了分布式系統(tǒng)通信需要的各種通用語義功能:如負(fù)載均衡和服務(wù)發(fā)現(xiàn)等,因此一定程度上屏蔽了這些通信細(xì)節(jié),使得開發(fā)人員使用較少的框架代碼就能開發(fā)出健壯的分布式系統(tǒng)。


          時(shí)代5:第一代Service Mesh

          第二代微服務(wù)模式看似完美,但開發(fā)人員很快又發(fā)現(xiàn),它也存在一些本質(zhì)問題:

          • 其一,雖然框架本身屏蔽了分布式系統(tǒng)通信的一些通用功能實(shí)現(xiàn)細(xì)節(jié),但開發(fā)者卻要花更多精力去掌握和管理復(fù)雜的框架本身,在實(shí)際應(yīng)用中,去追蹤和解決框架出現(xiàn)的問題也絕非易事;
          • 其二,開發(fā)框架通常只支持一種或幾種特定的語言,回過頭來看文章最開始對微服務(wù)的定義,一個(gè)重要的特性就是語言無關(guān),但那些沒有框架支持的語言編寫的服務(wù),很難融入面向微服務(wù)的架構(gòu)體系,想因地制宜的用多種語言實(shí)現(xiàn)架構(gòu)體系中的不同模塊也很難做到;
          • 其三,框架以lib庫的形式和服務(wù)聯(lián)編,復(fù)雜項(xiàng)目依賴時(shí)的庫版本兼容問題非常棘手,同時(shí),框架庫的升級也無法對服務(wù)透明,服務(wù)會(huì)因?yàn)楹蜆I(yè)務(wù)無關(guān)的lib庫升級而被迫升級;

          因此以Linkerd,Envoy,NginxMesh為代表的代理模式(邊車模式)應(yīng)運(yùn)而生,這就是第一代Service Mesh,它將分布式服務(wù)的通信抽象為單獨(dú)一層,在這一層中實(shí)現(xiàn)負(fù)載均衡、服務(wù)發(fā)現(xiàn)、認(rèn)證授權(quán)、監(jiān)控追蹤、流量控制等分布式系統(tǒng)所需要的功能,作為一個(gè)和服務(wù)對等的代理服務(wù),和服務(wù)部署在一起,接管服務(wù)的流量,通過代理之間的通信間接完成服務(wù)之間的通信請求,這樣上邊所說的三個(gè)問題也迎刃而解。

          如果我們從一個(gè)全局視角來看,就會(huì)得到如下部署圖:

          如果我們暫時(shí)略去服務(wù),只看Service Mesh的單機(jī)組件組成的網(wǎng)絡(luò):

          相信現(xiàn)在,大家已經(jīng)理解何所謂Service Mesh,也就是服務(wù)網(wǎng)格了。它看起來確實(shí)就像是一個(gè)由若干服務(wù)代理所組成的錯(cuò)綜復(fù)雜的網(wǎng)格。


          時(shí)代6:第二代Service Mesh

          第一代Service Mesh由一系列獨(dú)立運(yùn)行的單機(jī)代理服務(wù)構(gòu)成,為了提供統(tǒng)一的上層運(yùn)維入口,演化出了集中式的控制面板,所有的單機(jī)代理組件通過和控制面板交互進(jìn)行網(wǎng)絡(luò)拓?fù)洳呗缘母潞蛦螜C(jī)數(shù)據(jù)的匯報(bào)。這就是以Istio為代表的第二代Service Mesh。

          只看單機(jī)代理組件(數(shù)據(jù)面板)和控制面板的Service Mesh全局部署視圖如下:


          至此,見證了6個(gè)時(shí)代的變遷,大家一定清楚了Service Mesh技術(shù)到底是什么,以及是如何一步步演化到今天這樣一個(gè)形態(tài)。

          Service Mesh在各個(gè)企業(yè)應(yīng)用廣泛,以下分享網(wǎng)易云原生架構(gòu)轉(zhuǎn)型之路。

          下載鏈接:網(wǎng)易云原生架構(gòu)轉(zhuǎn)型之路



          推薦閱讀:

          世界的真實(shí)格局分析,地球人類社會(huì)底層運(yùn)行原理

          不是你需要中臺,而是一名合格的架構(gòu)師(附各大廠中臺建設(shè)PPT)

          企業(yè)IT技術(shù)架構(gòu)規(guī)劃方案

          論數(shù)字化轉(zhuǎn)型——轉(zhuǎn)什么,如何轉(zhuǎn)?

          華為干部與人才發(fā)展手冊(附PPT)

          企業(yè)10大管理流程圖,數(shù)字化轉(zhuǎn)型從業(yè)者必備!

          【中臺實(shí)踐】華為大數(shù)據(jù)中臺架構(gòu)分享.pdf

          華為的數(shù)字化轉(zhuǎn)型方法論

          華為如何實(shí)施數(shù)字化轉(zhuǎn)型(附PPT)

          超詳細(xì)280頁Docker實(shí)戰(zhàn)文檔!開放下載

          華為大數(shù)據(jù)解決方案(PPT)

          瀏覽 77
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

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

          手機(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>
                  亚洲第一页中文字幕 | 欧美亚洲影院 | 天堂操逼网 | 国产三级在线播放 | 青青草视频免费在线播放 |