微服務API管理模式

微服務架構Micro Services Architecture(MSA)已經從MartinFowler網站上的一種理論發展到了一種實現REST服務的技術。當我們需要編寫業務邏輯來實現後端核心服務時,大多數企業開發人員都正在轉向MSA。但在現實中,還有許多其他系統在本質上並不適合於微服務領域。

如何實現高效的API管理策略將是大多數企業迫切需要解決的問題,這裡將討論解決這個問題的可能模式。

綠地MSA的API管理

如果你的企業只是一家初創公司,而且不希望在IT生態系統中使用高成本的軟件,那麼可以從完整的MSA開始。這被稱為“綠地生態系統”,在這裡,你可以完全控制需要開發什麼服務以及如何開發這些服務。一旦將後端核心服務編寫為微服務,就可以通過適當的API管理平臺將它們作為API公開。

模式1-中央API管理器管理所有微服務

如下圖所示,此設計模式可應用於新建的MSA,其中可以將微服務發現、身份驗證和管理委託給中央API管理層。有一個用於異步服務間通信的消息代理。這個模式特點是中央管理層不但管理配置,還在運行時擔任hub作用,存在單點風險。

微服務API管理模式


模式2-服務網格模式與邊車(微型網關)

此模式適用於新建的MSA,其中所有後端系統都是作為微服務實現的,但這種模式也可以應用於同時擁有微服務和只需稍作修改的單體應用程序場景。服務網格方式沒有上面運行時的單點風險,服務是註冊到底層k8s中,服務發現通過sidecar邊車實現。

微服務API管理模式


面向實際企業架構的API管理

正如本文開頭所提到的,大多數現實世界的企業都使用單體軟件和各種雲服務來滿足日常的業務需求。在這樣的環境中,如果您正在實現MSA,您需要接受這樣一個事實:現有的系統將存在很長一段時間,而MSA應該能夠與這些系統一起生存。

該設計模式主要適用於具有單體系統和MSA的企業。該模式易於實現,並已被確定為適用於混合微服務生態系統的通用模式。也可以應用於沒有任何微服務的企業,也就是說可以只適用於傳統單塊應用程序。

微服務API管理模式



分享到:


相關文章: