服務網格是指來自云托管應用程序的軟件代碼在網絡服務器的不同級別以集成層編織在一起的方式。 云托管應用程序代碼可以使用 API 構建,而不是在 Web 服務器堆棧配置頂層的隔離運行時中運行,這些 API 有助于調用在操作系統、Web 服務器、網絡級別上可用的其他軟件驅動服務,或 數據中心。服務網格通過擴展生產中基礎設施元素之間的互操作通信級別來增加軟件應用程序的潛在功能。
服務網格通過正在運行的應用程序之間的自動化、跨通道通信, 在彈性云 數據中心中的虛擬機上將數千個微服務編織在一起 。云編排、負載平衡、資源發現SDN 路由、API 通信、數據庫同步和腳本優化應用程序需要跨 數據中心操作的所有級別的專用服務到服務通信功能 。服務網格可用于一次跨數百萬個多租戶機架服務器的多層網絡架構的更好的數據分析和流量指標。
服務網格的好處
提高互操作性:服務網格擴展了集成微服務環境的 SDN 路由特性的功能,以支持 Web、移動和 SaaS 應用程序代碼。
增強的微服務發現:服務網格 通過更好的微服務發現來改進網絡配置和管理。
網絡活動的詳細實時監控和分析:服務網格可以訪問后端進程和 Web 服務器硬件,以對網絡活動進行更詳細的實時監控和分析。
強大的 Web 和移動腳本自動化:開發人員可以通過 YAML 文件或實用程序(如 Vagrant、Jenkins、Puppet、Chef 等)編寫服務網格功能腳本,以大規模構建強大的 Web 和移動腳本自動化。在企業生產中支持復雜的 SaaS 應用程序需要這種類型的架構。 服務網格為在云中同時運行的數千或數百萬個容器提供協調 。
服務網格如何工作?
服務網格通過安裝在彈性 Web 服務器網絡中的每個 VM 實例或節點上的發現和路由應用程序工作,以通過 IP 地址注冊正在運行的微服務。中央注冊中心用于配置、管理和管理網絡上所有同時運行的微服務。在 Web 服務器、數據中心或應用程序的各個層運行的并行應用程序可以引用服務網格,以通過數據分析和網絡監控擴展互操作功能。這導致 IP 路由、SDN 定義、防火墻設置、過濾器、規則和云負載平衡級別的數據中心自動化程度提高。
API 連接可以參考服務網格,以定義在何處發現正在運行的應用程序和微服務功能以進行數據傳輸或所需的處理活動。使用Kubernetes自動擴展的彈性 Web 服務器平臺 使用 Istio 作為微服務發現的中央注冊表和配置管理實用程序。AWS EC2 和 Kubernetes 等彈性 Web 服務器平臺利用服務網格在同時運行時管理多個云應用程序副本,同時同步對主數據庫和存儲信息的更改。服務網格允許應用層通過 API 與 Web 服務器、互聯網和數據中心網絡資源進行通信,反之亦然,具體取決于微服務或代碼庫的要求。
服務網格架構
服務網格基于安裝在云數據中心的虛擬機或容器上的抽象層。代碼安裝在與運行數據中心編排的中央管理軟件實例通信的每個 VM 或節點上。VMware NSX等服務網格解決方案 Istio 依靠 Envoy 在節點級別創建數據平面。Envoy 為每個 VM 或節點管理與正在運行的微服務、許可 IP 地址、HTTPS 加密、活動數據庫格式等相關的信息。對于 NSX,這包括在管理程序級別的分布式防火墻集成。在彈性云網絡中,每個虛擬機或節點的數據平面信息用于負載均衡。API 連接依賴于服務網格架構來滿足應用程序間的路由要求。服務網格第 7 層的遙測包括 DNS、HTTP/S、SMTP、POP3、FTP 等。
服務網格實現
服務網格實現包括跨 SDN、IP 地址、微服務和 Web/移動應用程序的 API 資源的負載平衡和服務發現。服務網格管理彈性 Web 服務器架構中跨硬件的 Web 服務器后端連接的通信、同步和加密。在云應用程序中,腳本、數據庫和靜態 Web 文件通常在不同的硬件上分離,然后在 Web 瀏覽器的最終頁面上組裝。
使用代碼中的第三方 API,硬件、腳本、數據庫和文件之間的 SDN 路由變得更加復雜。當所有這些都必須為每個頁面加載跨資源組裝時,服務網格在彈性 Web 服務器框架中集成、同步和標準化跨 VM 的操作。創建服務網格是為了滿足數據中心中沒有其他軟件提供的需求。它還包括來自網絡流量連接的數據分析和用戶指標。
開源服務網格
Istio 是目前最先進的開源服務網格項目,Envoy 用于與跨節點管理數據平面相關的核心功能。Istio 最初是作為云原生計算基金會 (CNCF) 的一部分開發的,并且在 VMware NSX Service Mesh 和 Enterprise PKS 平臺中工作。PKS 是 VMware 的 Kubernetes 發行版,它通過容器編排云 Web 服務器。PKS 可用作公共和 私有云的自托管包 要求或作為完全托管的容器即服務 (CaaS) 產品。Istio 用于 Kubernetes 中的微服務通信,具有復雜的 IP 地址路由功能和加密,用于大規模企業數據中心的彈性 Web 服務器編排。Linkerd、Conduit、Aspen 和 Consul 是作為服務網格框架組件開發的其他重要開源項目。
彈性服務網格
需要彈性服務網格來同步 AWS EC2 或 Kubernetes 等云托管框架中的數據庫和網站文件。服務網格控制 Web 服務器后端中 VM 之間的路由,以滿足軟件應用程序支持中的 API 和 SDN 要求。當服務網格還用于彈性 Web 服務器網絡中的發現和負載平衡時,管理員可以自動分配數據中心資源,以匹配生產中用戶流量的需求。Web 服務器可以配置為在不再需要時自動啟動或終止,以更有效地使用云硬件資源。將實時監控和分析功能嵌入到 VM 或節點級別的服務網格中的能力為軟件開發人員、程序員、
為什么微服務架構需要服務網格
公共云可能包含數百萬個 跨容器或虛擬機同時運行的微服務,這些微服務通過隔離的運行時并行支持不同的應用程序和數據庫?;谔摂M化的多租戶環境需要更好的方法來發現和注冊微服務,以便每個微服務的獨特功能可以由應用程序集成或使用 API 共享給其他設備。許多微服務格式并不是專門為彈性 Web 服務器平臺設計的,需要服務網格來管理容器中的操作。服務網格通過 SDN 提供細粒度的路由和加密功能,允許不同的 API 在 Web 服務器、端點和其他設備上運行的代碼進程之間進行通信。