基於 CSE 的微服務架構實踐:Spring Cloud 技術棧選型
Spring Cloud技術棧使用者選型建議 當Spring Cloud和CSE都構建於Spring Boot基礎之上的時候,可以將CSE理解為競爭和替代性的產品。

上圖中展示了CSE和Spring Cloud 通常情況下 的一種開發組合。實際上, CSE 和 Spring Cloud 都提供了非常良好的擴充套件性,它們能夠使用的元件都不是完全互斥的,而是可以相互融合使用。比如在配置更新下發方面,CSE可以通過實現archaius的介面使用git作為配置中心,而Spring Cloud也可以通過實現PropertySources使用CSE的配置中心做動態配置。
Spring Cloud 應用快速上雲,一般有兩種選擇:
-
使用 Spring Cloud 物理多租引擎。 Spring Cloud 物理多租引擎集成了常用的中介軟體( Spring Cloud Config , Spring Cloud Netflix 等),使用者可以像本地使用這些中介軟體一樣使用雲上服務。
-
將替換的功能遷移到 CSE 。 這裡的原理和步驟可以參考 基於CSE的微服務架構實踐-Spring Boot技術棧選型 。使用 CSE 的便利性在於開發者開發階段不需要考慮整合和使用 Config 、 Netflix 、 Ribbon 等元件的使用, CSE 已經預設整合好了相關管控能力,並提供了配套的雲上中介軟體。
專案 |
CSE |
Spring Cloud |
說明 |
服務註冊 / 發現 |
服務中心 |
eureka, consul 等 |
|
配置管理 |
配置中心 |
git 等 |
|
熔斷隔離降級(服務、方法級別) |
bizkeeper, thread pool |
Hystrix |
CSE 的 bizkeeper 也是基於 Hystrix 。但在技術選型的時候,不推薦 Hystrix ,大量產品的使用效果並不好。 CSE 內建了執行緒池隔離能力,這個應該是首選。 |
負載均衡、隔離重試(例項級別) |
loadbalancer |
Ribbon |
|
呼叫鏈 |
tracing(zipkin) , APM |
zipkin |
CSE 的 APM 提供了無侵入埋點,使用 Handler 也實現了 zipkin 侵入式埋點。 |
閘道器 |
Edge Service |
Spring Cloud Gateway |
|
REST 客戶端 |
RPC, RestTemplate |
Feign, RestTemplate |
上面表格列舉了部分常見的元件和中介軟體, CSE 和 Spring Cloud 都各自存在其他大量不一樣的工具集合,以配套對應的框架進行更加高效的功能開發。在 “ 架構實踐 ” 之後,會進一步分享 “ 工程實踐 ” 方面的內容,敬請期待。