<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>

          【看點牛逼的】什么是ServiceMesh?

          共 2048字,需瀏覽 5分鐘

           ·

          2021-01-07 12:10


          本文公眾號來源:愛笑的架構(gòu)師

          作者:雷架

          本文已收錄至我的GitHub

          e3f9817539cd017c8179e4385d9a80e1.webp

          原始時代

          1969年11月,為了便于高校間共享資源,美國國防部高級研究計劃管理局建立一個名為阿帕網(wǎng)絡ARPAnet,起初只有四個節(jié)點。

          679bbb823ecc310d4c9905ed0b21cbb4.webp阿帕網(wǎng)起源

          一年后阿帕網(wǎng)的節(jié)點數(shù)量增至15個,此后平均每隔二十天就有一臺大型計算機接入。

          隨著網(wǎng)絡在世界范圍不斷擴大,不同國家不同地區(qū)各自形成了一個網(wǎng)絡,操著不同方言彼此間互不相通,諸侯割據(jù)格局已經(jīng)形成。

          483a5ef539ea1b9f3eaf54f0fe3c1ec5.webp隔離的阿帕網(wǎng)

          這個時候機器與機器之間通信是靠彼此約定的方式進行。

          13779a5f001dd4f830753a137cb3de4f.webp計算機靠方言通信

          機器需要自行處理網(wǎng)絡通信過程中遇到的丟包、亂序、重試等問題。

          青銅時代

          為了解決各國家各地區(qū)網(wǎng)絡不能互通的問題,1973年兩位年輕的小伙子開始發(fā)力了,致力于研究一種通訊方法,能夠解決不同機器型號的計算機互相通信,簡單說就是用普通話替代方言,這就是大家熟知的“TCP/IP”協(xié)議。

          66f128d9968c723fe02e7644f28dca5c.webp鮑勃·卡恩(左)與溫頓·瑟夫(右)

          隨著 TCP/IP 協(xié)議逐漸普及后,一張大的 Internet 網(wǎng)絡由此形成。

          48f1c4cd626b4adc8f1f3f5a6d06187c.webpInternet

          這個時候機器與機器之間通信的問題已經(jīng)解決,TCP/IP 可以保證信息可靠性傳輸,我們只用關(guān)系業(yè)務邏輯即可。

          4a644fb6f74e737a0b06bd7e185fe18e.webp依賴 TCP/IP協(xié)議實現(xiàn)機器間傳輸

          黃金時代

          在 TCP/IP 協(xié)議剛興起時,計算機上的應用還很貧乏,機器與機器之間通信一般用來簡單的數(shù)據(jù)傳輸。

          隨著 WEB 互聯(lián)網(wǎng)技術(shù)興起,基于 TCP/IP 協(xié)議出現(xiàn)了很多應用層協(xié)議,國內(nèi)出現(xiàn)了一批優(yōu)秀的互聯(lián)網(wǎng)公司如騰訊、新浪、搜狐、淘寶等。

          當時訪問量并不大,采用單體架構(gòu)基本就可以滿足。

          64f0b53b36d7ab8a34dcbb8ccb268f8f.webp單體應用之間調(diào)用

          服務的數(shù)量不多,每個服務都有一個唯一的IP 地址,服務與服務之間交互通過 IP尋址。

          鉑金時代

          網(wǎng)民數(shù)量越來越多,單個實例扛不住日益增長的訪問量。通常會在一個機器上部署多個實例組成集群,服務1訪問服務2不再是之前的點到點了,現(xiàn)在變成了點到多點,中間會加一個負載均衡解決流量均衡問題。

          4a052728b4f2de283779e4896f7351f3.webp單體應用集群之間調(diào)用

          鉆石時代

          隨著互聯(lián)網(wǎng)業(yè)務訪問量井噴,通過橫向擴展服務實例的方法也開始遇到瓶頸了,單個服務越來越大,代碼模塊耦合嚴重,修改一行代碼可能影響整個系統(tǒng)。

          問題來了,解決方案也隨著而來,“微服務”橫空出世了。將一個業(yè)務服務按功能模塊切分為多個微服務,比如將 Service1 切分為 Micro Service1,Micro Service2,Micro Service3。

          在單體服務中Micro Service1調(diào)用Micro Service2可能就是一個模塊調(diào)用另外一個模塊,調(diào)用一個公開的函數(shù)就能搞定,拆為微服務之后就變成了兩個微服務直接的調(diào)用,這種調(diào)用是要通過網(wǎng)絡通信實現(xiàn)。

          5732eca014deee8afdf244fae130ebbb.webp微服務間調(diào)用

          星耀時代

          隨著業(yè)務擴張,對系統(tǒng)的高可用要求越來越高,一些重點微服務如訂單、賬單等可能會部署成百上千個實例,運維人員的負擔也在逐漸加大,如果機器掛了要手動刪除,如果遇到重大活動如雙十一可能要擴展幾千個實例,運維人員需要手工添加,人工干預越多出錯的概率越大。

          第一代微服務技術(shù)應運而生。

          7b7e25383e4e296d1af7029e7c7c856e.webp代理內(nèi)嵌

          每個微服務內(nèi)嵌一個代理用來處理服務注冊和發(fā)現(xiàn)的邏輯,國內(nèi)以阿里的 Dubbo,微博的 Motan 為代表。這類框架不足的地方很明顯:微服務與代理耦合、不支持多語言。

          王者時代

          針對第一代微服務框架的不足,大家在紛紛探索下一代微服務框架。

          在每一個主機上單獨部署一個代理進程,多個微服務共用一個代理進程,實現(xiàn)服務發(fā)現(xiàn)和負載均衡。

          ab194879d94178f1ed935cb1ba3e0997.webp代理進程

          這種模式通常被大家稱為“sideCar”,也就是“邊車模式”。

          什么叫“邊車”,在早期有一種摩托車,駕駛位置旁邊掛著一個拖斗,對比微服務旁邊掛一個代理進程,所以形象地稱為“邊車模式”。

          df33152da82233bec7d16f920fb4df6f.webp摩托車拖斗

          在新一代的 ServiceMesh 架構(gòu)中,服務消費者和服務提供者都會部署SideCar。

          9bd2b4dd24a7019aca1972f71c30477e.webpSideCar 模式

          服務與服務之間是靠 sideCar 連接起來,sideCar 用來處理與業(yè)務無關(guān)的注冊、發(fā)現(xiàn)、熔斷、限流等治理能力。

          略去業(yè)務服務和其他無關(guān)的東西,將所有的 sideCar 連接起來可以得到下面這張圖:

          01fce1d8ddda0cce34d69fcfb301d8b1.webp服務網(wǎng)格

          是不是長得像網(wǎng)格,服務網(wǎng)格(service mesh)由此得名。

          維基百科是這樣定義服務網(wǎng)格

          服務網(wǎng)格是一個基礎(chǔ)設(shè)施層,用于處理服務間通信。云原生應用有著復雜的服務拓撲,服務網(wǎng)格保證請求在這些拓撲中可靠地穿梭。在實際應用當中,服務網(wǎng)格通常是由一系列輕量級的網(wǎng)絡代理組成的,它們與應用程序部署在一起,但對應用程序透明。

          總結(jié)

          ServiceMesh(服務網(wǎng)格)的特點:

          • 場景:用于微服務間的服務通信和服務治理
          • 方案:邊車模式
          • 定位:基礎(chǔ)設(shè)施層

          服務網(wǎng)格是一種比較新的架構(gòu)風格,大家在技術(shù)選型時不要盲目追新,適合當前業(yè)務發(fā)展的技術(shù)才是最好的技術(shù)。大家學會了嗎?


          歡迎關(guān)注我的微信公眾號【面試造火箭】來聊聊Java面試的事兒

          歡迎添加我的私人微信進一步交流和學習,也可以來一場朋友圈點贊之交

          如果顯示頻繁,微信手動搜索sanwaiyihao添加即可

          瀏覽 41
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <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>
                  操骚逼自拍 | 久久久精品淫秽色情 | 国产免费无码精品视频网站 | 国产精品666 | 国产精品豆花视频 |