什么是服務網格
服務網格(Service Mesh)獨立於服務之外運行,是服務間通訊的基礎設施層,服務網格類似於在每個服務上粘貼的功能模塊。
服務之間通過SideCar進行通信,所以的sidecar和網格鏈接就形成了Service Mesh。SideCar的主要作用是:負責服務發現和容錯處理。
服務網格主要是由數據平台(Data Plane) 和控制平台(Control Plane)組成:
- 數據平台:處理服務間的通信,並實現服務發現,負責均衡,流量管理,健康檢查等等。
- 控制平台:管理配置SideCar,以執行策略和收集數據。
通常,應用程序的開發人員,不需要關系TCP/IP層,同樣,在使用服務網格時,開發人員也不需要關系服務的熔斷,限流,監控等。這些都由服務網格來處理。
服務網格和微服務的區別
- 側重點不同:微服務架構主要關注服務間的生態,例如:服務治理等,而服務網格架構更加關注服務之間的通訊,以及與DEVOPS的結合。
- 侵入性不同:微服務架構實現了服務間的解耦,服務網格則實現了服務框架和服務==之間的解耦,在微服務架構中,服務提供者和服務消費者都需要配置和注冊到:“服務注冊中心”的IP地址和端口號等配置信息。
- 服務網格是在服務之外獨立運行的模塊,它提供了微服務框架的功能,服務不需要在代碼和配置中添加相應的依賴庫和依賴配置項。
特點:
- 對服務沒有入侵性
- 是應用程序間通信的一個中間層
- 是一個輕量級的網絡代理
- 應用程序對服務網格無感知
- 能夠解耦應用程序的重試,監控,追蹤服務和服務發現。