微服務治理是頭疼的事,也是微服務架構中的痛點。治理這個詞有多元含義,很難下達一個精确定義,這裡可以像國小二年級學生那樣列出治理的諸多近義詞:管理、控制、規則、掌控、監督、支配、規定、統治等。對于微服務而言,治理展現在以下諸多方面:
- 服務注冊與發現
- 身份驗證與授權
- 服務的伸縮控制
- 反向代理與負載均衡
- 路由控制
- 流量切換
- 日志管理
- 性能度量、監控與調優
- 分布式跟蹤
- 過載保護
- 服務降級
- 服務部署與版本更新政策支援
-
錯誤處理
… …
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。
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)組成,代理部署為邊車,調解和控制微服務之間所有的網絡通信。
- 控制台負責管理和配置代理來路由流量,以及在運作時執行政策。
-
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