Spring Cloud Alibaba 新版本发布:众多期待内容整合打包加入!
在Nacos 1.0.0 Release之后,Spring Cloud Alibaba也终于发布了最新的版本。该版本距离上一次发布,过去了整整4个月!下面就随我一起看看,这个大家期待已久的版本都有哪些内容值得我们关注。
版本变化
之前在《Spring Cloud Alibaba与Spring Boot、Spring Cloud之间不得不说的版本关系》一文中,我有提到过当前版本的Spring Cloud Alibaba还处于孵化器中,没有纳入Spring Cloud的主线版本。所以,我们在使用的时候需要明确Spring Boot、Spring Cloud主版本以及Spring Cloud Alibaba之间的版本关系。
这次的更新,在版本上与我之前文章中说的0.2.2来支持Greenwich有所区别。这里纠正一下,对于Greenwich版本的支持采用了0.9.x的版本号来对应,所以Spring Boot
、Spring Cloud、Spring Cloud Alibaba三者之间的准确关系如下表所示:
| Spring Boot | Spring Cloud | Spring Cloud Alibaba |
|---|---|---|
| 2.1.x | Greenwich | 0.9.x |
| 2.0.x | Finchley | 0.2.x |
| 1.5.x | Edgware | 0.1.x |
| 1.5.x | Dalston | 0.1.x |
模块新增
这次新版本中,最值得关注的应该就是下面这几个新模块的加入了。之前我说过非常看好Spring Cloud Alibaba,下面新增的几个模块就是主要原因之一。
spring-cloud-alibaba-dubbo
对于Dubbo的支持,我觉得对于国内用户来说,是非常有意义的。由于Dubbo在过去一段时间对国内行业的渗透非常广,至今依然有很多团队在使用着这个老牌RPC。但是,由于Dubbo只是一个单纯的RPC框架,它不像Spring Cloud这样,拥有不错的生态,在外围设施的对接支持上做了非常多的努力,使得我们在使用Spring Cloud的时候,可以很快的体系化我们的基础设施。
现在,Spring Cloud Alibaba将Dubbo融入Spring Cloud体系,可以让其一起享受Spring Cloud生态的各种便利。对于原来的Dubbo用户来说,该模块的加入为原Dubbo用户拥抱Spring Cloud生态提供了非常好的支持,可以大大减少用户自己融入需要做的扩展工作量。
为什么说这个模块好呢?看看下面几个与Spring Cloud生态融合的重要功能:
- 支持所有Spring Cloud的注册中心实现,包括Spring Cloud Alibaba中整合的Nacos。也就是说,以前我们自己在整合Spring Cloud和Dubbo来使用的时候,如果不去为Dubbo扩展注册中心,那么就不得不采用Eureka + Zookeeper同时存在的复杂架构。现在,在这个模块的帮助下,注册中心就可以得到统一。
- 支持RestTemplate,开发者只需要在定义RestTemplate的
@Bean注解上搭配使用@DubboTransported注解,就能将这个客户端直接支持Dubbo调用。 - 支持Feign,开发者只需要在
@FeignClient注解上搭配使用@DubboTransported,就能将Feign客户端变成Dubbo的客户端。这样的设计,对于传统Spring Cloud用户来说,是不是也非常容易接受呢?
如果您的团队还在坚持使用Dubbo,又很想引入Spring Cloud,那么不妨移步来尝试一下Spring Cloud Alibaba的最新版本吧!
注意:该模块没有发布到0.1.2中,所以只有0.2.2和0.9.0中才拥有。也就是说,仅支持Spring Boot 2.x和Spring Cloud Finchley版和Greenwich版。
spring-cloud-alibaba-seata
Seata是Alibaba与蚂蚁金融共建的一个开源分布式事务解决方案。通过该模块的加入,可以非常方便的在Spring MVC、RestTemplate、FeignClient的调用中传递事务上下文,同时也支持与Hystrix、Sentinel的联合使用。全方面的打通Spring Cloud生态的分布式事务场景。
这个框架我还没有深入的研究过,后续我也会将这部分内容的学习写到《Spring Cloud Alibaba基础教程》中与大家分享心得与经验。如果对这个感兴趣的,记得关注我哟。
spring-cloud-alibaba-sentinel-zuul
在该模块中定义了一些为Zuul定制的过滤器:SentinelPreFilter、SentinelPostFilter、SentinelErrorFilter。通过它们来为Zuul实现网关层的请求流量控制。用户可以通过spring.cloud.sentinel.zuul.参数来配置这些Sentinel过滤器。
spring-cloud-alibaba-sms
SMS是阿里云的商业化产品。所以该模块类之前的SchedulerX模块,OSS模块类似,主要为了更方便的整合使用而存在。如果是Spring Cloud用户,同时也是阿里云这些产品的用户,那么直接使用还是非常方便的。但是如果这两个条件都不满足,那么可以忽略之。
模块升级
在该版本中对于一些重要的基础设施模块也做了大幅度的版本升级,包括:
- Nacos:从0.6.2升级到1.0.0
- Sentinel:从1.4.0升级到1.5.2
对于模块功能升级主要与模块整合对象的自身版本有关,所以对于这部分的内容读者可以查阅Nacos 1.0.0的文档以及Sentinel 1.5.2的文档来进一步新增功能。
而对于Spring Cloud Alibaba对其整合新增的配置或注解使用,可以见本文参考资料链接看看更新了什么内容,这里就不做具体介绍了。
最后欢迎留言参与讨论,说说您对Spring Cloud Alibaba新版本的看法吧!
参考资料
专题推荐
Spring Cloud Alibaba 新版本发布:众多期待内容整合打包加入!的更多相关文章
- Spring Cloud Alibaba学习笔记(1) - 整合Spring Cloud Alibaba
Spring Cloud Alibaba从孵化器版本毕业:https://github.com/alibaba/spring-cloud-alibaba,记录一下自己学习Spring Cloud Al ...
- Spring Cloud Alibaba学习笔记(15) - 整合Spring Cloud Gateway
Spring Cloud Gateway 概述 Spring Cloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于Netty.Reactor以及WEbFlux构建,它 ...
- Spring Cloud Alibaba学习笔记(5) - 整合Sentinel及Sentinel规则
整合Sentinel 应用整合Sentinel 在dependencies中添加依赖,即可整合Sentinel <dependency> <groupId>com.alibab ...
- 通知: Spring Cloud Alibaba 仓库迁移
最近,Spring Cloud 官方修改了各个第三方项目的发布策略,第三方 spring-cloud 项目需要自身维护.基于此策略,Spring-Cloud-Alibaba 项目迁移到了 alibab ...
- 厉害了,Spring Cloud Alibaba 发布 GA 版本!
? 小马哥 & Josh Long ? 喜欢写一首诗一般的代码,更喜欢和你共同 code review,英雄的相惜,犹如时间沉淀下来的对话,历久方弥新. 相见如故,@杭州. 4 月 18 日, ...
- Spring Cloud Alibaba发布第二个版本,Spring 发来贺电
还是熟悉的面孔,还是熟悉的味道,不同的是,这次的配方升级了. 今年10月底,Spring Cloud联合创始人Spencer Gibb在Spring官网的博客页面宣布:阿里巴巴开源 Spring Cl ...
- Spring Cloud Alibaba 2021.0.1.0 发布:版本号再也不迷糊了
大家好,DD又来了! 3月9日,Spring官方博客发文:Spring Cloud Alibaba 2021.0.1.0发布了. 前段时间DD还在微信群里看到小伙伴吐槽Spring Cloud Ali ...
- Spring Cloud Alibaba到底坑不坑?
之前我发过一篇<说说我为什么看好Spring Cloud Alibaba>,然后这两天有网友给我转了这篇文章<坑爹项目spring-cloud-alibaba,我们也来一个>, ...
- Spring 社区的唯一一个国产开源项目 - Spring Cloud Alibaba 毕业了
阿里妹导读:一年多前,Java 界最近发生了一件大事,阿里开源 Spring Cloud Alibaba,并推出首个预览版.Spring Cloud 本身是一套微服务规范,并不是一个拿来即可用的框架, ...
随机推荐
- Win10安装cygwin并添加apt-cyg
1.去Cygwin官网:https://www.cygwin.com/ 进入上图的install链接(下图),根据自己的电脑选择32位还是64位 我选择了一个32位的: 一直下一步下图: 163镜像链 ...
- java接口变量问题
java中接口是不能实例化的,然而像下面这种用法是可以的: List<FileItem> items = upload.parseRequest(request); Iterator< ...
- 本地和svn都删除文件导致版本不同的问题
想要删除一个项目中的文件,同是要删除svn上的文件. 自己操作 1.直接右键删除了本地项目中的一个目录的模块 2.右键删除了库中svn中的这个目录 3.同步本地和svn上的代码 4.问题出现了,本地和 ...
- Chapter1:基础
整本书的核心:语言的设计与实现 我们所看到的设计是显示的,语法定义的, 而实现是隐式的,决定了编译或运行时的行为. 了解设计的目的,可以推测实现的细节,也可以自己实现设计. 学习具体的实现,更充分的达 ...
- 发现了一个非常棒的pyqt5的例子集
发现了一个非常棒的pyqt5的例子集 https://github.com/892768447/PyQt 各种各样的PyQt测试和例子 [Python3.4.4 or Python3.5][PyQt5 ...
- wGenerator如何编写模板
编写模板大致分为4个步骤: 确定开发语言与数据库类型 分析表数据类型与语言的类型对应 分析代码中哪些可以规整为模板 编写与测试模板 我们对照流程图看的话会更加清晰: 1.如何分析表数据与开发语言的类型 ...
- Scala 编码习惯
1. 不用var.var是可以被不断修改的,而val是不能被修改的.使用val而不是var能让你的程序更强壮,bug更少,更好调试,更容易测试,在并发条件下,更容易调优而获得更好的性能.数学证明我们不 ...
- unison+inotify的Web目录同步方案
1.在Linux下做WEB目录文件同步 一般有如下几种方式: ----------------------------------------------- 1) nfs实现web数据共享 ...
- Nginx技术进阶详讲
Nginx技术进阶详讲 作者 : Stanley 罗昊 [转载请注明出处和署名,谢谢!] 并发数问题 讲到并发数这个概念,想必各位应该都知道是什么意思,就是同时访问一个项目,就比我们现在做的一些项目完 ...
- TensorFlow读写数据
前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 回顾前面: 从零开始学TensorFlow[01-搭 ...