當前位置:律師網大全 - 註冊公司 - 服務網& amp伊斯迪奧

服務網& amp伊斯迪奧

ServiceMesh被稱為下壹代微服務架構。

互聯網公司經常使用微服務分層架構。

畫外音:

為什麽服務?有關詳細信息,請參見服務解決的問題。

隨著數據量和吞吐量越來越大,業務越來越復雜,服務的數量會越來越多,層次會越來越細。除了數據服務層,還會衍生出業務服務層、前端分離等各種層次結構。

畫外音:

有關分層的詳細信息,請參見互聯網分層架構的演進。

不斷發現主要矛盾,抽離主要矛盾,解決主要矛盾,架構自然進化了,微服務架構,潛在的主要矛盾會是什麽?

引入微服務架構時,壹般會引入壹個RPC框架來完成整個RPC調用過程。

如上面粉色部分所示,RPC分為:

畫外音:

密不可分的微服務架構,密不可分的RPC細節。

不僅僅是微服務,MQ也是類似的架構:

如上圖粉色部分所示,MQ分為:

畫外音:

MQ,互聯網架構解耦神器。

框架只是第壹步,會加入越來越多的RPC和微服務相關的功能。

例如:負載平衡

如果您想要擴展多個負載平衡方案,例如:

RPC-客戶端需要升級。

例如:數據收集

如果要采集RPC接口的處理時間來實現統壹監控和報警,還需要升級RPC-client。

畫外音,處理時間分為:

客戶視角處理時間

服務器透視圖的處理時間

如果要收集後者,還應該修改和報告RPC-server。

另壹個例子:服務發現

服務添加壹個實例,並通知配置中心,配置中心通知註冊的RPC-client將流量發送到新啟動的服務實例,從而快速完成擴展。

另壹個例子:呼叫鏈跟蹤

如果要進行完整的鏈接調用鏈跟蹤,RPC-client和RPC-server都需要升級。以下功能:負載均衡數據收集服務發現調用鏈跟蹤……其實都不是業務功能,所以互聯網公司壹般都有壹個類似於“架構部”的技術部門來開發升級相關功能,而業務線的技術部門則直接使用相關框架、工具、平臺來享受各種“黑科技”帶來的便利。

完美!!!理想很豐滿,但現實很骨感,因為:

經常面臨以下問題:

畫外音:

兄弟,妳們公司推廣壹個新技術產品需要多久?

有什麽辦法可以解決這些耦合和這些常見的痛點?

壹種想法是將服務分成兩個流程,並將它們解耦。

畫外音:

許多基礎設施,如負載平衡、監控和報警、服務發現和治理、呼叫鏈等。,都在這壹層實現。

這樣“業務歸業務,技術歸技術”,實現完全脫鉤。如果所有節點實現解耦,整個架構將演變為:

整個服務集群變成了網格,這就是Service Mesh服務網格的由來。

要說ServiceMesh,就不得不提Istio,這是目前ServiceMesh最流行的做法。今天,我們來談談Istio是做什麽的。

畫外音:妳不能落後。

Istio是什麽?

Istio是ServiceMesh的產品落地,對它的壹些重點描述是:

畫外音:

Istio幫助您連接、保護、控制和觀察微服務

畫外音:

佩服,十條湊在壹起很難。事實上,SM可以提供更多的基本服務功能。

畫外音:

還在說脫鉤。

Istio官網如何吹噓自己?

畫外音:

這個問題的另壹種提問方式是“為什麽要用Istio?”。

Istio很牛逼。如果要實現ServiceMesh,必須使用Istio,因為:

畫外音:

妳相信嗎?

Istio的核心特點是什麽?

Istio強調了它提供的五個關鍵特性:

畫外音:

斷路器、超時、重試、高可用性、多路由規則、AB測試、灰度釋放、流量百分比分布等。

Istio的吹噓和特點對於很多通過RESTful提供內網服務的國外公司來說是很有吸引力的,但是和國內的微服務架構相比,未必能達到很好的拉攏效果:

(1)國內的RPC框架基本都是TCP,多協議支持不壹定是必須的;

(2)在2)RPC框架中,路由、重試、故障轉移、負載均衡、高可用是最基本的;

(3)流量控制、限速和配額管理是服務治理的內容,在微服務架構初期是錦上添花;

(4)自動測量、系統出入口數據采集、通話跟蹤、可觀察可控後臺真的是最吸引人的;

(5)服務對服務的認證。微服務基本是內網接入,只是架構前期的錦上添花;

另壹個花邊,為什麽代理叫sidecar代理?

Istio這麽牛逼,它的核心架構是什麽?

關於Istio的架構設計,官網用了這句話:

從邏輯上講,Istio分為:

這兩個字是Istio建築的核心,但也是最容易誤導人的地方。

數據平面和控制平面不是由ServiceMesh和Istio首先提出的,它們是計算機網絡和消息路由轉發中的成熟概念:

畫外音:上面兩張圖片顯示了路由器的架構。

其設計原則是:

畫外音:

Istio的架構核心與路由器非常相似:

(1)高效轉發;

(2)接收並執行來自混合器的策略;

(1)管理和配置邊車代理;

(2)實施策略並通過混合器從側車代理收集數據;

畫外音:

(1)sidecar proxy,原文用envoy,後文envoy的意思是代理人;

(2)混音器,不確定怎麽翻譯。有的文章叫“混音器”,後者直接叫混音器;

(3)pilot,galley,citadel,不敢翻譯成pilot,kitchens,forts,以下文字直接用英文;

如體系結構圖所示,兩層體系結構中有五個核心組件。

特使的核心職責是高效轉發。更具體地說,它具有以下功能:

(1)服務發現

(2)負載均衡

(3)安全傳輸

(4)多協議支持,如HTTP/2和gRPC。

(5)斷路器

(6)健康檢查

(7)百分比分流路由

(8)故障註入

(9)系統測量

大多數功能都可以在RPC框架中獲得,或者相對容易理解。這裏主要介紹斷路器和故障註入。

它是軟件架構設計中的壹種服務自我保護或降級的設計思想。

例如,當系統檢測到某個接口有大量超時時,斷路器策略可以終止對該接口的呼叫(斷路器斷開),壹段時間後,再次嘗試呼叫。如果接口不再超時,它將慢慢恢復呼叫(斷路器閉合)。

它是壹種在軟件架構設計中故意引入故障,以擴大測試覆蓋範圍,保證系統健壯性的方法。主要用於測試。

國內大部分互聯網公司在架構設計上不考慮故障註入,而往往在操作系統內核和路由器的開發調試中使用,可以用來模擬內存分配失敗、磁盤IO錯誤等壹些非常棘手的異常,保證測試覆蓋率。

Mixer的壹些核心能力是:

(1)跨平臺,作為其他組件的適配器,實現Istio的跨平臺能力;

(2)與特使溝通,實時各種策略。

(3)與特使溝通,收集各種數據。

Mixer的設計核心是“插件”,使Istio能夠適應各種復雜的主機環境和後端基礎設施。

作為非常重要的控制平面組件,飛行員的核心能力是:

(1)為特使提供服務發現能力;

(2)為Envoy提供各種智能路由管理能力,如A/B測試和灰度發布;

(3)為特使提供各種靈活的管理能力,如超時、重試和斷開策略;

Pilot的設計核心是“標準化”,將各種流量控制命令轉化為使節可以識別的配置,並在運行時將這些命令傳播給所有使節。Pilot將這些功能抽象成壹個通用配置的優點是,所有符合這個標準的特使都可以連接到Pilot。

潛臺詞是,任何第三方只要符合相關API標準,都可以實現自己的代理,都可以和Pilot集成。

Citadel組件,提供最終用戶身份驗證和服務到服務的訪問控制。簡而言之,這是壹個安全相關的組件。

加裏組件是配置獲取、驗證、處理和分發的組件,采用“解耦”設計,將“從底層平臺(如K8S)獲取用戶配置”與Istio解耦。

Istio采用兩層架構和五個模塊對微服務ServiceMesh進行解耦:

數據平面,主要負責高效轉發

(1)特使模塊:代理;;

(2)混合器模塊:適配器;支持跨平臺和標準化的API

(3)試驗模塊:控制和配置特使的大部分策略;

(4)citadel模塊:安全相關;

(5)廚房模塊:與底層平臺解耦(如K8S);

實現與控制分離,經典架構設計方法,懂了嗎?

想法比結論更重要。

  • 上一篇:洛陽擔保公司排名
  • 下一篇:美國馬拉松石油公司的經營戰略
  • copyright 2024律師網大全