Spring Cloud for Alibaba 來了
作者: 唐亞峯;
鏈接: https://blog.battcn.com/2018/10/31/other/spring-cloud-alibaba/
十月三十號,Spring Cloud 公佈了令人非常興奮的消息,那就是 Alibaba Dubbo 、 Alibaba Nacos 、 Alibaba Sentinel 相關組件集成到Spring Cloud大家庭了….
Spring Cloud Alibaba
spring-cloud-alibaba 項目由阿里的開源組件及部分阿里雲產品組成,基於 Spring Framework 框架擴展和封裝,同時將 Spring Boot 和 Spring Cloud 的優勢帶給使用阿里巴巴產品的Java開發人員。不過這裏需要注意的是,除了 Dubbo ,剩下的幾個項目都還不夠成熟,上生產的話存在一定風險….
- 版本 0.2.0.RELEASE 與 Spring Boot 2.0.x 系列兼容。版本 0.1.0.RELEASE 與 Spring Boot 1.x 系列兼容。
相關服務
- Nacos: 是阿里巴巴的新開源項目,其核心定位是 一個更易於幫助構建雲原生應用的動態服務發現、配置和服務管理平臺。
- Dubbo: Apache Dubbo (incubating) 一款高性能、輕量級的開源Java RPC框架,它提供了三大核心能力:`面向接口的遠程方法調用,智能容錯和負載均衡,以及服務自動註冊和發現`。
- Sentinel:以流量爲切入點,從`流量控制、熔斷降級、系統負載保護` 等多個維度保護服務的穩定性。
服務發現
spring-cloud-alibaba-nacos-discovery-starter 通過擴展 Nacos Server 誕生的服務發現組件。
實現服務註冊接口的有 NacosAutoServiceRegistration、NacosServiceRegistry、NacosDiscoveryClient等。通過添加依賴項和一些配置,就可以輕鬆地將服務註冊到Nacos Server中去,同時它也支持與 Ribbon 框架集成。
配置中心
spring-cloud-alibaba-nacos-config-starter 通過擴展 Nacos Config 誕生的配置中心組件。
其中通過 PropertySourceLoader 接口擴展出 NacosPropertySourceLocator,開發者添加依賴項和簡單的配置,就可以從Nacos Server 中獲取應用程序配置並將它們添加到 Spring 環境中。此外,還可以在不使用其他組件的情況下實時分發配置和跟蹤分發狀態。
阻斷/高可用/限流
spring-cloud-alibaba-sentinel-starter 通過擴展 Sentinel 誕生的保障服務高可用的流量組件。
通過 Sentinel 儀表板修改數據閥值,可以實時控制流量和併發策略,目前支持Servlet、RestTemplate、Dubbo、RocketMQ
如何使用
修改 Spring Cloud 的依賴關係,將以前的依賴替換成如下
org.springframework.cloud
spring-cloud-alibaba-dependencies
0.2.0.RELEASE
pom
import
說點什麼
從文末瞭解到Spring Cloud 團隊準備基於 RocketMQ 擴展 spring-cloud-stream-binder-rocke 組件,爲 使用 Spring Cloud Stream/Bus 的開發者提供更多的選擇,阿里後續也會持續開源出 AliCloud SchedulerX 與 AliCloud SLS ,從近期阿里開源的進展來看,這一切都很好,只希望不會在出現 Dubbo 當年停止維護的事情…..
參考文獻
http://spring.io/blog/2018/10/30/spring-cloud-for-alibaba-0-2-0-released?from=timeline