1. 程式人生 > 其它 >(二)Istio簡介

(二)Istio簡介

一、Istio是什麼

Istio是一個用於服務治理的開放平臺。服務治理的意思就是為了保證服務的穩定高效執行而進行的一些列附加配置,比如負載均衡、流量控制、重定向、超時重試等。
Istio是一個Service Mesh形態的用於服務治理的開放平臺。 Service Mesh概念前面講過,自行翻閱。
根據 Istio 官方(https://istio.io/)的介紹,服務治理涉及連線(Connect)、安全 (Secure)、策略控制(Control)和視覺化(Observe),如圖所示

  • 連線:智慧控制服務之間的流量和API呼叫流,比如載均衡、熔斷、故障注入、重試、重定向等服務治理。在這過程中進行一系列測試,通過灰度釋出對應用進行升級。
  • 安全:通過託管身份驗證授權和服務之間通訊的加密,自動保護您的服務。
  • 控制:通過動態制定策略實現訪問控 制、速率限制、配額管理、服務計費等能力。
  • 視覺化:自動跟蹤,監控和記錄你的服務的執行狀況。

二、Istio主要功能

  • 自動服務發現獲取服務例項列表,通過負載均衡策略選擇服務例項;
  • 啟用雙向認證和通道加密;
  • 自動隔離訪問不正常的服務,以提高訪問質量;
  • 設定最大連線數、最大請求數、訪問超時等對服務進行保護;
  • 提供對服務請求限流功能;
  • 提供請求的重試功能;
  • 修改請求中的內容;
  • 對規定特徵的服務進行重定向;
  • 提供灰度釋出功能;
  • 自動記錄服務訪問資訊;
  • 記錄呼叫鏈,進行分散式追蹤;
  • 根據訪問資料形成完整的應用訪問拓撲。

等等
Istio提供的所有這些功能,都不需要使用者修改程式碼,只需在 Istio 的控制面板做一些配置即可,並且動態生效。你就說牛不牛逼吧。

三、平臺支援

Istio 獨立於平臺,被設計為可以在各種環境中執行,包括跨雲、內部環境、Kubernetes、Mesos 等等。您可以在 Kubernetes 或是裝有 Consul 的 Nomad 環境上部署 Istio。Istio 目前支援:

  • Kubernetes 上的服務部署
  • 基於 Consul 的服務註冊
  • 服務執行在獨立的虛擬機器上