自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

5分鐘帶你快速了解ServiceMesh的前世今生

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

 [[373925]]

本文轉(zhuǎn)載自微信公眾號「愛笑的架構(gòu)師 」,作者雷架 。轉(zhuǎn)載本文請聯(lián)系愛笑的架構(gòu)師 公眾號。  

原始時代

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

阿帕網(wǎng)起源

 

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

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

隔離的阿帕網(wǎng)

 

這個時候機(jī)器與機(jī)器之間通信是靠彼此約定的方式進(jìn)行。

計算機(jī)靠方言通信

 

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

青銅時代

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

[[373928]]

鮑勃·卡恩(左)與溫頓·瑟夫(右)

 

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

Internet

 

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

依賴 TCP/IP協(xié)議實現(xiàn)機(jī)器間傳輸

 

黃金時代

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

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

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

單體應(yīng)用之間調(diào)用

 

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

鉑金時代

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

單體應(yīng)用集群之間調(diào)用

 

鉆石時代

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

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

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

微服務(wù)間調(diào)用

 

星耀時代

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

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

代理內(nèi)嵌

 

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

王者時代

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

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

代理進(jìn)程

 

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

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

[[373929]]

摩托車拖斗

 

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

SideCar 模式

 

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

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

服務(wù)網(wǎng)格

 

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

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

服務(wù)網(wǎng)格是一個基礎(chǔ)設(shè)施層,用于處理服務(wù)間通信。云原生應(yīng)用有著復(fù)雜的服務(wù)拓?fù)洌?wù)網(wǎng)格保證請求在這些拓?fù)渲锌煽康卮┧?。在實際應(yīng)用當(dāng)中,服務(wù)網(wǎng)格通常是由一系列輕量級的網(wǎng)絡(luò)代理組成的,它們與應(yīng)用程序部署在一起,但對應(yīng)用程序透明。

總結(jié)

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

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

 

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

 

責(zé)任編輯:武曉燕 來源: 愛笑的架構(gòu)師
相關(guān)推薦

2023-07-12 15:50:29

機(jī)器學(xué)習(xí)人工智能

2021-01-27 18:15:01

Docker底層宿主機(jī)

2024-11-07 16:09:53

2021-10-19 07:27:08

HTTP代理網(wǎng)絡(luò)

2020-10-13 18:22:58

DevOps工具開發(fā)

2021-12-15 11:52:34

GPLLinuxGNU

2019-08-05 10:08:25

軟件操作系統(tǒng)程序員

2019-11-25 09:32:26

軟件程序員數(shù)據(jù)結(jié)構(gòu)

2020-09-14 11:30:26

HTTP3運維互聯(lián)網(wǎng)

2021-04-30 16:23:58

WebRTC實時音頻

2024-08-13 11:13:18

2020-02-19 19:26:27

K8S開源平臺容器技術(shù)

2022-12-27 09:10:38

ChatGPT技術(shù)邏輯

2022-02-17 09:24:11

TypeScript編程語言javaScrip

2020-11-23 16:23:59

CSS設(shè)計技術(shù)

2024-05-07 10:19:25

前端裝飾器計算

2024-02-22 07:37:37

對象JVM內(nèi)存

2020-07-17 07:44:25

云計算邊緣計算IT

2020-03-08 16:45:58

數(shù)據(jù)挖掘學(xué)習(xí)數(shù)據(jù)量

2020-12-07 11:23:32

Scrapy爬蟲Python
點贊
收藏

51CTO技術(shù)棧公眾號