金融業務系統:Service Mesh用于安全微服務集成
隨著云計算的不斷演進,微服務架構變得日益復雜。為了有效地管理這種復雜性,人們開始采用服務網格。在本文中,我們將解釋什么是Service Mesh,為什么它對現代云架構至關重要,以及它是如何解決開發人員今天面臨的一些最緊迫挑戰的。
理解Service Mesh
一個Service Mesh是內置在應用程序中的可配置基礎架構層,允許個別服務實例之間進行靈活、可靠和安全的通信。在云原生環境中,特別是在采用容器化的環境中,服務網格在處理服務到服務的通信方面至關重要,為其提供了增強的控制、管理和安全性。
為什么需要Service Mesh?
隨著應用程序不斷發展成為由許多微服務組成的分布式系統,它們常常遇到服務發現、負載平衡、故障恢復、安全性和可觀察性方面的挑戰。服務網格通過提供以下內容來解決這些挑戰:
- 動態流量管理: 調整請求和響應的流向,以適應基礎架構的變化。
- 改進的彈性: 通過重試、超時和斷路器等模式,增強系統的魯棒性。
- 增強的可觀察性: 提供監控、日志記錄和跟蹤工具,以了解系統的性能和行為。
- 安全增強: 通過加密和身份驗證協議確保安全通信。
通過實施Service Mesh,這些分布式且松散耦合的應用程序可以更有效地進行管理,確保在規模上的操作效率和安全性。
基礎元素: 服務發現和代理
服務網格依賴于兩個基本組件 —— Consul和Envoy。 Consul負責服務發現,這意味著它追蹤服務、位置和健康狀態,確保系統能夠適應環境的變化。另一方面,Envoy管理代理服務。它部署在服務實例旁邊,處理網絡通信。Envoy充當流量管理和消息路由的抽象層。
架構概覽
該架構由公共和私有VPC設置組成,其中包含不同的集群。VPC中的“LEFT_CLUSTER”專用于關鍵服務,如日志記錄和監控,提供對系統操作的洞察和交易管理。另一方面,VPC中的“RIGHT_CLUSTER”包含用于審計和合規性、儀表板以及存檔數據的服務,確保了對數據管理和法規合規性的強大方法。
Image.png
該圖展示了AWS中用于敏感銀行操作的服務網格架構。它包括兩個集群:VPC中的左集群包括一個Mesh Gateway、銀行接口、身份驗證和授權系統,以及一個對賬引擎。VPC中的右集群管理審計,提供儀表板,存儲存檔數據,并處理通知。Consul和Envoy Proxies高效地管理通信。通過專用工具監控,確保在復雜的銀行生態系統中的操作完整性和安全性。
網格網關和Envoy代理
網格網關對于集群間通信至關重要,簡化了連接和網絡配置。Envoy代理被戰略性地放置在服務網格內,管理流量的流向,增強了系統動態擴展的能力。
安全和用戶交互
用戶的旅程始于進行身份驗證和授權的措施,以驗證和保護用戶訪問。
Consul的作用
Consul的服務發現功能對于允許Bank Interface和Reconciliation Engine等服務發現并無縫交互是至關重要的,繞過了靜態IP地址的限制。
操作效率
Service Mesh對操作效率的貢獻在其與Reconciliation Engine的集成中尤為明顯。這確保了需要對賬的財務數據能夠高效、安全地處理,并指向相關服務。
Service Mesh集成的案例
向云原生架構的轉變強調了對Service Mesh的需求。這一藍圖增強了敏捷性、安全性和技術,確認了Service Mesh在現代云網絡中的關鍵作用。