天天看點

Service Mesh概念,Istio實作等常見術語概念解析

微服務治理是頭疼的事,也是微服務架構中的痛點。治理這個詞有多元含義,很難下達一個精确定義,這裡可以像國小二年級學生那樣列出治理的諸多近義詞:管理、控制、規則、掌控、監督、支配、規定、統治等。對于微服務而言,治理展現在以下諸多方面:

  • 服務注冊與發現
  • 身份驗證與授權
  • 服務的伸縮控制
  • 反向代理與負載均衡
  • 路由控制
  • 流量切換
  • 日志管理
  • 性能度量、監控與調優
  • 分布式跟蹤
  • 過載保護
  • 服務降級
  • 服務部署與版本更新政策支援
  • 錯誤處理 

    … …

Service Mesh真正引起大家關注要源于Istio項目的開源釋出。為什麼呢?個人覺得還是因為“爹好”!Istio項目由Google、IBM共同合作建立,lyft公司貢獻了Envoy項目将作為Istio Service Mesh的data panel。Google、IBM的影響力讓Service Mesh概念迅速傳播,同時也讓大家認識到了Istio項目在Service Mesh領域的重要性,于是紛紛選擇積極支援并将自己的産品或項目與Istio項目內建。

service mesh服務網格概念,是一個概念,也有人翻譯為”服務齧合層”.。一般形式是sidecar和Envoy。

Service Mesh概念,Istio實作等常見術語概念解析

Envoy是data panel資料闆的意思,是每個服務、也就是每個網格都有的資料闆,用于通信。

Sidecar,邊車,是個形式,用于遊走各個網格。

Sidecar中Envoy代理了pod中真正業務container的所有進出流量,并對這些流量按照控制平面設定的“治理邏輯”進行處理。而這一切對pod中的業務應用是透明的,開發人員可以專心于業務邏輯,而無需再關心微服務治理的邏輯。Istio代表的Service Mesh的設計理念被認為是下一代“微服務統一架構”,甚至有人認為是微服務架構演化的終點。

Istio項目是Service Mesh概念的最新實作,旨在所有主流叢集管理平台上提供Service Mesh層,初期以實作Kubernetes上的服務治理層為目标。它由控制平面和資料平面組成(是不是感覺和SDN的設計理念相似啊)。控制平面由Go語言實作,包括pilot、mixer、auth三個元件;資料平面功能暫由Envoy在pod中以Sidecar的部署形式提供。下面是官方的架構圖:

Istio在服務網絡中統一提供了許多關鍵功能(以下内容來自官方文檔):

  • 流量管理:控制服務之間的流量和API調用的流向,使得調用更可靠,并使網絡在惡劣情況下更加健壯。
  • 可觀察性:了解服務之間的依賴關系,以及它們之間流量的本質和流向,進而提供快速識别問題的能力。
  • 政策執行:将組織政策應用于服務之間的互動,確定通路政策得以執行,資源在消費者之間良好配置設定。政策的更改是通過配置網格而不是修改應用程式代碼。
  • 服務身份和安全:為網格中的服務提供可驗證身份,并提供保護服務流量的能力,使其可以在不同可信度的網絡上流轉。
  • 整體架構

  • Istio服務網格邏輯上分為資料面闆和控制台。
  • 資料面闆由一組智能代理(Envoy)組成,代理部署為邊車,調解和控制微服務之間所有的網絡通信。
  • 控制台負責管理和配置代理來路由流量,以及在運作時執行政策。
  • Service Mesh概念,Istio實作等常見術語概念解析
  • Istio是負責治理。

    Control Plan Api就是Istio的控制台。

    Control Plan Api裡面就有pilot、mixer、auth三個元件。

  • pod是容器的意思。

 詳解Istio:https://zhuanlan.zhihu.com/p/29586032

安裝:

https://www.liangzl.com/get-article-detail-3243.html

https://www.cnblogs.com/ericnie/p/7919017.html

https://www.jianshu.com/p/30b542b76125

https://blog.csdn.net/quguang65265/article/details/79127353

http://www.servicemesher.com/blog/istio-envoy-grpc-metrics-winning-with-service-mesh-in-practice/

本文展示的是如何使用 Istio 和 Envoy 來對 gRPC 做度量。

Service Mesh 周報第23期 2018.11.26 - 2018.12.02

部落格

- Istio像鳥一樣輕盈?微網關部落格系列(4)http://www.servicemesher.com/blog/istio-is-it-a-bird-microgateway-blog-series-part-4/

- 使用 Envoy 搭建 Service Mesh http://www.servicemesher.com/blog/service-mesh-with-envoy-101/

- Istio路由基礎 http://www.servicemesher.com/blog/istio-routing-basics/

- 雲原生世界中的隐形人如何擁抱 Istio http://www.servicemesher.com/blog/invisible-men-in-the-world-of-cloudnative/

- 螞蟻金服Service Mesh漸進式遷移方案 http://www.servicemesher.com/blog/ant-financial-service-mesh-adoption-plan/

- 當 Service Mesh 遇見 Event Mesh: Event-Driven 型企業新的架構層 http://www.servicemesher.com/blog/service-mesh-meet-event-mesh/

活動

- 第四屆 Service Mesh Meetup 上海站圓滿收官|檢視視訊回放和下載下傳 PPT https://tech.antfin.com/activities/2