十月三十号,
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
的依赖关系,将以前的依赖替换成如下
1 | <dependencyManagement> |
说点什么
从文末了解到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
微信公众号(关注领取最新学习资源):battcn