成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

假如看完這篇文章后,你還不懂Service Mesh?那你就可以徹底放棄微服務了!

開發 架構
為了理清這些繁復的產品和概念,我們先來了解下微服務和Service Mesh技術的歷史發展脈絡。

[[326170]]

Service Mesh作為下一代微服務技術的代名詞,初出茅廬卻深得人心一鳴驚人,大有一統微服務時代的趨勢。

那么到底什么是Service Mesh?

一言以蔽之:Service Mesh是微服務時代的TCP協議。

有了這樣一個感性的初步認知,我們再來看到底什么是Service Mesh。

提到Service Mesh,就不得不提微服務。根據維基百科的定義:

微服務(Microservices)是一種軟件架構風格,它是以專注于單一責任與功能的小型功能區塊(Small Building Blocks)為基礎,利用模塊化的方式組合出復雜的大型應用程序,各功能區塊使用與語言無關(Language-Independent/Language agnostic)的API集相互通信。

目前業界跟微服務相關的開發平臺和框架更是不勝枚舉:Spring Cloud、Service Fabric、Linkerd、Envoy、Istio……

這些紛繁的產品和Sevice Mesh有什么樣的關聯?哪些屬于Service Mesh的范疇?

為了理清這些繁復的產品和概念,我們先來了解下微服務和Service Mesh技術的歷史發展脈絡。

了解清楚了技術的主要脈絡,就能清晰的知道上述的各個平臺、框架屬于技術脈絡中的哪個結點,其間的關系也就一目了然。

Phil Calçado的文章《Pattern: Service Mesh》,詳細的介紹了從開發者視角來看,服務開發模式和Service Mesh技術的演化過程,個人認為是非常經典的學習Service Mesh的資料。

這里借用文章的脈絡,結合自己的理解并予以簡化,試圖說清楚ServiceMesh的概念和這項技術誕生的歷史必然性。

時代0:開發人員想象中,不同服務間通信的方式

抽象表示如下:

時代1:原始通信時代

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

時代2:TCP時代

為了避免每個服務都需要自己實現一套相似的網絡傳輸處理邏輯,TCP協議出現了,它解決了網絡傳輸中通用的流量控制問題,將技術棧下移,從服務的實現中抽離出來,成為操作系統網絡層的一部分。

時代3:第一代微服務

在TCP出現之后,機器之間的網絡通信不再是一個難題,以GFS/BigTable/MapReduce為代表的分布式系統得以蓬勃發展。這時,分布式系統特有的通信語義又出現了,如熔斷策略、負載均衡、服務發現、認證和授權、quota限制、trace和監控等等,于是服務根據業務需求來實現一部分所需的通信語義。

時代4:第二代微服務

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

時代5:第一代Service Mesh

第二代微服務模式看似完美,但開發人員很快又發現,它也存在一些本質問題:

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

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

如果我們從一個全局視角來看,就會得到如下部署圖:

如果我們暫時略去服務,只看Service Mesh的單機組件組成的網絡:

相信現在,大家已經理解何所謂Service Mesh,也就是服務網格了。它看起來確實就像是一個由若干服務代理所組成的錯綜復雜的網格。

時代6:第二代Service Mesh

第一代Service Mesh由一系列獨立運行的單機代理服務構成,為了提供統一的上層運維入口,演化出了集中式的控制面板,所有的單機代理組件通過和控制面板交互進行網絡拓撲策略的更新和單機數據的匯報。這就是以Istio為代表的第二代Service Mesh。

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

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

現在,我們再回過頭來看Buoyant的CEO William Morgan,也就是Service Mesh這個詞的發明人,對Service Mesh的定義:

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

這個定義中,有四個關鍵詞:

  •  基礎設施層+請求在這些拓撲中可靠穿梭:這兩個詞加起來描述了Service Mesh的定位和功能,是不是似曾相識?沒錯,你一定想到了TCP;
  •  網絡代理:這描述了Service Mesh的實現形態;
  •  對應用透明:這描述了Service Mesh的關鍵特點,正是由于這個特點,Service Mesh能夠解決以Spring Cloud為代表的第二代微服務框架所面臨的三個本質問題。

總結一下,Service Mesh具有如下優點:

  •  屏蔽分布式系統通信的復雜性(負載均衡、服務發現、認證授權、監控追蹤、流量控制等等),服務只用關注業務邏輯;
  •  真正的語言無關,服務可以用任何語言編寫,只需和Service Mesh通信即可;
  •  對應用透明,Service Mesh組件可以單獨升級。

當然,Service Mesh目前也面臨一些挑戰:

  •  Service Mesh組件以代理模式計算并轉發請求,一定程度上會降低通信系統性能,并增加系統資源開銷;
  •  Service Mesh組件接管了網絡流量,因此服務的整體穩定性依賴于Service Mesh,同時額外引入的大量Service Mesh服務實例的運維和管理也是一個挑戰;

歷史總是驚人的相似。為了解決端到端的字節碼通信問題,TCP協議誕生,讓多機通信變得簡單可靠;微服務時代,Service Mesh 應運而生,屏蔽了分布式系統的諸多復雜性,讓開發者可以回歸業務,聚焦真正的價值。 

 

責任編輯:龐桂玉 來源: 奇妙的Linux世界
相關推薦

2022-02-18 06:56:18

Wi-Fi路由器局域網

2017-08-09 15:07:08

大數據數據分析戶畫像

2021-09-06 07:58:47

鏈表數據結構

2020-02-24 21:50:24

瓶頸數據庫

2023-10-08 19:06:41

2025-03-28 08:53:51

2019-01-30 13:44:34

JVM內存服務器

2021-06-16 00:57:16

JVM加載機制

2020-11-12 10:37:29

微服務

2019-07-10 15:15:23

JVM虛擬機Java

2021-05-28 11:54:29

MySQL數據庫主從復制

2015-12-02 18:11:06

百度地圖/地圖軟件

2020-02-08 16:46:29

微服務架構復雜

2024-01-17 08:18:14

RPAJava技術

2020-01-09 15:30:32

微服務架構互聯網

2021-02-24 07:38:50

Redis

2020-11-17 07:43:24

互聯網MVC服務類

2018-07-31 14:03:09

JVM內存數據

2021-03-04 09:26:57

微服務架構數據

2021-11-10 07:47:48

Traefik邊緣網關
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美日韩1区 | 久久综合伊人 | 国产一区二区三区四区三区四 | 一区二区av | 亚州一区二区三区 | 亚洲日韩中文字幕 | 久久99精品国产99久久6男男 | 国产高清视频在线观看播放 | 国产精品一卡 | 成人网av | 日韩视频免费看 | 久久久久久电影 | 久久精品国产久精国产 | 久久亚洲欧美日韩精品专区 | 久久久久久国产精品 | 九一视频在线观看 | 91tv在线观看| 暴草美女 | www.黄色在线观看 | 亚洲午夜在线 | 999精彩视频 | 欧美一级www片免费观看 | 精品av | 天堂资源 | 国产一区视频在线 | 午夜视频免费在线观看 | 国产成人精品一区二区三区四区 | 国产乱码精品一区二区三区五月婷 | av在线天堂网| 成人免费视频 | 日韩久久综合 | 一区二区欧美在线 | 久久网亚洲 | 激情小视频 | 国产乱一区二区三区视频 | aaa大片免费观看 | 国产传媒在线观看 | 精品美女久久久 | 伊人伊人伊人 | 一区二区在线免费观看 | 免费观看av网站 |