1. 程式人生 > >微服務架構核心(三)- 微服務技術架構體系

微服務架構核心(三)- 微服務技術架構體系

微服務架構的名字裡雖然有個"微",但它涉及的整體架構體系可一點也不"微",微服務架構除了業務程式碼的開發以外,還需要很多的支撐服務。

每個公司都有自己的微服務架構體系,雖然在細節上有很多不同,但是整體的思路是類似的,下圖展示了一個比較成熟的微服務架構體系。

2

這個體系按照請求接入,由外到內的順序,將整體架構分為接入層、閘道器層、業務服務層、支撐服務層、平臺服務層和基礎設施層六層。

接入層

最外層是接入層,通過負載均衡接入請求到內部平臺,這些請求既有外部網際網路請求,也有公司內部其它系統的請求。

閘道器層

閘道器層是微服務架構的核心層,是業務層接收外部流量的屏障。

閘道器層的主要作用:

  1. 對接入的流量進行反向路由。
  2. 攔截所有的請求,通過橫切的方式完成熔斷、限流、安全認證等功能。
  3. 對請求進行分類,例如內部閘道器、H5閘道器、圖片閘道器。

業務服務層

我們常說的微服務就集中在這一層,這裡包含了系統核心的業務邏輯。業務服務層可以簡單的劃分為聚合層與基礎層。

基礎層提供單一簡單的基礎服務,例如人員、訂單、支付。聚合層則是將不同的基礎層聚合在一起,完成複雜的業務處理。

支撐服務層

支撐服務層提供非業務功能,以支撐業務服務層和閘道器層軟體的正常執行。

核心模組有服務註冊發現、集中配置、容錯限流、認證授權、日誌聚合、監控告警、後臺中介軟體(非同步佇列、快取、資料庫、任務排程)

平臺服務層

平臺服務層站在系統平臺的角度上,處理系統釋出、資源排程整合等功能。

核心模組有釋出系統、資源排程、容器映象治理、資源治理、IAM。

基礎設定層

這一層與軟體關係不大,主要是支撐系統需要的硬體資源,包括計算、網路、儲存、監控、安全、IDC等。

縱向能力

除了橫向區分的六個層次以外,微服務中還有一些縱向能力需要我們關注。

例如微服務開發框架,提供標準的開發框架規範開發過程,統一開發標準。

持續交付流水線,提供從研發到測試,再到生產的持續交付能力。

另外還有提升研發、測試效率的端到端的工具鏈,平常不斷積累的工程實踐以及規範等。

總結

微服務架構涉及功能模組眾多,並不是每一個公司都有能力搭建一套完整的微服務架構。

當我們從零開始搭建微服務架構時,可以優先考慮閘道器層、業務服務層以及支撐服務層中的註冊發現、集中配置、認證授權這些核心功能,其它的功能模組再逐步完善。

另外我們也可以選用已經比較成熟的架構來快速搭建微服務,例如SpringCloud。

最後大家可以結合文章的架構圖思考一下,自己公司目前的微服務架構,已經具備了圖中的哪些功能,還有哪些功能是可以進一步完善或者新增的?

博文地址