SAE支援原生Spring Cloud微服務架構,在該架構下開發的應用只需添加服務依賴和修改註冊中心配置,便可擷取SAE企業級的應用託管、應用治理、監控警示和應用診斷等能力,實現零代碼工作量的應用遷移。
為什麼使用Spring Cloud
Spring Cloud提供了簡化應用開發的一系列標準和規範。該標準和規範包含服務發現、負載平衡、熔斷、組態管理、訊息事件驅動、訊息匯流排等,同時Spring Cloud在該規範的基礎上,提供了服務網關、全鏈路跟蹤、安全、分布式任務調度和分布式任務協調等功能的實現機制。
目前業界流行的Spring Cloud組件包括Spring Cloud Netflix、Spring Cloud Consul和Spring Cloud Alibaba等。
如果您已經使用Spring Cloud Netflix、Spring Cloud Consul等Spring Cloud組件開發應用,該應用可以直接部署到SAE上,獲得應用託管能力。不需要修改任何代碼,便可直接使用SAE所提供的進階監控功能,以及實現全鏈路跟蹤、監控警示和應用診斷等監控功能。
如果您的Spring Cloud應用還想使用SAE中更多的服務治理相關功能,那麼需要將您的Spring Cloud組件替換為Spring Cloud Alibaba中的組件或增加Spring Cloud Alibaba組件。
相容性說明
SAE目前支援Spring Cloud Greenwich、Spring Cloud Finchley和Spring Cloud Edgware三個版本。Spring Cloud、Spring Boot和Spring Cloud Alibaba及各組件的版本對應關係請參見版本配套關係說明。
Spring Cloud功能、開源實現及SAE相容性如下表所示。
Spring Cloud功能 | 開源實現 | SAE相容性 | |
通用功能 | 服務註冊與發現 |
| 相容且提供替換組件 |
負載平衡 | Netflix Ribbon | 相容 | |
服務調用 |
| 相容 | |
組態管理 |
| 相容且提供替換組件 | |
服務網關 |
| 相容 | |
鏈路跟蹤 | Spring Cloud Sleuth | 相容且提供替換組件 | |
訊息驅動Spring Cloud Stream |
| 相容且提供替換組件 | |
訊息匯流排Spring Cloud Bus |
| 相容且提供替換組件 | |
安全 | Spring Cloud Security | 相容 | |
分布式任務調度 | Spring Cloud Task | 相容 | |
分布式協調 | Spring Cloud Cluster | 相容 | |
版本配套關係說明
Spring Cloud、Spring Boot和Spring Cloud Alibaba及SAE提供的正式商用組件的版本配套關係如下表所示。
Spring Cloud | Spring Boot | Spring Cloud Alibaba |
ANS | ACM | SchedulerX |
Greenwich | 2.1.x | 2.1.1.RELEASE |
Finchley | 2.0.x | 2.0.1.RELEASE |
Edgware | 1.5.x | 1.5.1.RELEASE |
Hoxton | 2.2.x | 2.2.x |
Spring Cloud Alibaba Nacos Discovery和Spring Cloud Alibaba Nacos Config分別是ANS和ACM對應的開源組件。
相關文檔
如果您初次接觸原生Spring Cloud應用,希望在SAE上部署原生Spring Cloud應用,您需要在本地完成添加依賴和組態管理等操作,然後將應用部署到SAE。具體操作,請參見使用Spring Cloud開發微服務應用並部署至SAE。
如果您在本地開發了依賴Eureka、Consul、ZooKeeper和Redis等組件實現的服務註冊與發現的Spring Cloud應用,希望將該應用部署至SAE,那麼只需要將服務註冊與發現的組件的依賴和配置替換成Spring Cloud Alibaba Nacos Discovery,無需修改任何業務代碼,即可將應用部署到SAE進行微服務託管。具體操作,請參見將應用的服務註冊與發現中心更改為Nacos。