Service Mesh - 理論篇

Service Mesh的起源:爲什麼會出現Service Mesh技術?

微服務架構的特性

特點 1:圍繞業務構建團隊
Service Mesh - 理論篇

特點 2:去中心化的數據管理
Service Mesh - 理論篇

微服務架構面臨什麼樣的問題?

微服務架構的優勢

  • 團隊層面:內聚,獨立開發業務,沒有依賴
  • 產品層面:服務彼此獨立,獨立部署,沒有依賴
  • 微服務是軟件架構的銀彈嗎?而銀彈理論已經說明了沒有任何一種技術和管理上的進步,可以極大的提升生產效率

服務之間的網絡通信是微服務架構的一大痛點,當微服務越來越多時,整體的調用鏈路就呈現一個複雜的圖狀:
Service Mesh - 理論篇

爲什麼網絡通信是微服務架構的痛點?分佈式計算的 8 個謬論(Fallacies of Distributed Computing Explained):

  • 網絡是可靠的
  • 網絡延遲是 0
  • 帶寬是無限的
  • 網絡是安全的
  • 網絡拓撲從不改變
  • 只有一個管理員
  • 傳輸成本是 0
  • 網絡是同構的

如何管理和控制服務間的通信?

  • 服務註冊/發現
  • 路由,流量轉移
  • 彈性能力(熔斷、超時、重試)
  • 安全
  • 可觀測性

Service Mesh的發展:Service Mesh技術是如何演進的?

第一階段:控制邏輯和業務邏輯耦合

Service Mesh - 理論篇

  • 網絡調用、熔斷、服務發現等控制邏輯與業務邏輯交雜耦合在一起

第二階段:公共庫

Service Mesh - 理論篇

  • 這個公共庫可以是第三方的,例如Spring Cloud體系中的一些相關框架
  • 在這個階段達到了控制邏輯和業務邏輯解耦、消除重複
  • 但需要花人力和時間成本去學習這個庫以及維護它,並且通常是語言綁定,且仍有侵入

第三階段:代理

Service Mesh - 理論篇

  • 公共庫不再和現在的業務邏輯部署在一起,而是單獨抽出一個代理模塊,由該模塊去包含相應的控制邏輯
  • 功能簡陋,但思路正確

第四階段:邊車模式(Sidecar)

Service Mesh - 理論篇

  • 在應用旁邊部署一個Sidecar,由Sidecar去處理所有的網絡請求以及相應的控制邏輯,然後再把請求轉發給應用

第五階段:Service Mesh 的出現

Service Mesh - 理論篇


微服務通信的濟世良方:什麼是Service Mesh?它能幫你做什麼?

Service Mesh 的定義

Service Mesh - 理論篇

  • 所謂 Service Mesh 就是一個用來進行請求轉發的基礎設施層,它通常是以Sidecar的形式部署,並且對應用透明

Service Mesh 的產品形態

Service Mesh - 理論篇

  • Service Mesh 是 Sidecar 的網絡拓撲模式。整體上分爲數據平面和控制平面

Service Mesh 的主要功能

Service Mesh - 理論篇

Service Mesh 和 Kubernetes 的關係

Service Mesh - 理論篇

Service Mesh 和 API 網關的異同點

Service Mesh - 理論篇

  • 功能有重疊,但角色不同
  • Service Mesh 在應用內,API 網關在應用之上(邊界)

Service Mesh 技術標準

Service Mesh - 理論篇


列王的紛爭:市面上有哪些主流的Service Mesh產品?

Service Mesh - 理論篇

Linkerd

  • 第一個 Service Mesh 產品
  • 2016 年底在 GitHub 上發佈 0.x
  • 2017 年加入 CNCF,4 月發佈 1.0 版本
  • Conduit – Linkerd2.0:支持 Kubernetes,輕量化
  • Linkerd 的敗局?

envoy

  • 2016 年 9 月發佈
  • 定位於 Sidecar 代理
  • 第 3 個從 CNCF 畢業的產品
  • 穩定可靠,性能出衆
  • Istio 的默認數據平面
  • xDS 協議成爲數據平面的事實標準

Istio

  • 2017 年 5 月發佈 0.1
  • 光環加身:Google,IBM,Lyft 背書
  • 第二代 Service Mesh,增加了控制平面,奠定目前 Service Mesh 的產品形態
  • 收編 Envoy,直接擁有高水準的數據平面
  • 受到社區強烈追捧

AWS App Mesh
Service Mesh - 理論篇

  • 2018 年 re:Invent 公佈
  • 2019 年 4 月 GA 發佈
  • 支持自家的多種計算資源的部署

國內發展情況

  • 螞蟻金服:SOFA Mesh,MOSN 數據平面
  • 幾大雲廠商(騰訊、阿里、百度)
  • 華爲、微博
  • 其他
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章