Istio官方文檔中文版
http://istio.doczh.cn/
https://istio.io/docs/concepts/what-is-istio/goals.html
為什么要使用Istio?
在從單體應用程序向分布式微服務架構的轉型過程中,開發人員和運維人員面臨諸多挑戰,使用Istio可以解決這些問題。術語服務網格(Service Mesh)通常用於描述構成這些應用程序的微服務網絡以及它們之間的交互。隨着規模和復雜性的增長,服務網格越來越難以理解和管理。它的需求包括服務發現、負載均衡、故障恢復、指標收集和監控以及通常更加復雜的運維需求,例如A/B測試、金絲雀發布、限流、訪問控制和端到端認證等。
Istio提供了一個完整的解決方案,通過為整個服務網格提供行為洞察和操作控制來滿足微服務應用程序的多樣化需求。它在服務網絡中統一提供了許多關鍵功能:
-
流量管理。控制服務之間的流量和API調用的流向,使得調用更可靠,並使網絡在惡劣情況下更加健壯。
-
可觀察性。了解服務之間的依賴關系,以及它們之間流量的本質和流向,從而提供快速識別問題的能力。
-
策略執行。將組織策略應用於服務之間的互動,確保訪問策略得以執行,資源在消費者之間良好分配。策略的更改是通過配置網格而不是修改應用程序代碼。
-
服務身份和安全。為網格中的服務提供可驗證身份,並提供保護服務流量的能力,使其可以在不同可信度的網絡上流轉。
除此之外,Istio針對可擴展性進行了設計,以滿足不同的部署需要:
- 平台支持。Istio旨在可以在各種環境中運行,包括跨雲、預置環境、Kubernetes、Mesos等。最初專注於Kubernetes,但很快將支持其他環境。
- 集成和定制。策略執行組件可以擴展和定制,以便與現有的ACL、日志、監控、配額、審核等解決方案集成。
這些功能極大的減少了應用程序代碼,底層平台和策略之間的耦合。耦合的減少不僅使服務更容易實現,而且還使運維人員更容易地在環境之間移動應用程序部署,或換用新的策略方案。因此,結果就是應用程序從本質上變得更容易移動。
