Spring Cloud Alibaba 的预览版本已发布:0.9.0, 0.2.2, and 0.1.2

发布 | Spencer Gibb | 2019 年 4 月 19 日 | ...

注:这是来自阿里巴巴的朋友的一篇客座博文。

大家好!今天,我们非常激动地宣布 Spring Cloud Alibaba 的 0.9.0、0.2.2 和 0.1.2 版本现已发布。

版本亮点

此次 GA 版本包含 3 个新版本

  • 版本 0.9.0:兼容 Spring Cloud Greenwich
  • 版本 0.2.2:兼容 Spring Cloud Finchley
  • 版本 0.1.2:兼容 Spring Cloud Edgware

所有三个版本都增加了四个新模块

  • spring-cloud-alibaba-sentinel-zuul
  • spring-cloud-alibaba-seata
  • spring-cloud-alibaba-dubbo (版本 0.1.2 中不可用)
  • spring-cloud-alibaba-sms

此外,我们还在 spring-cloud-alibaba-nacos 和 spring-cloud-alibaba-sentinel 中引入了新功能,并且 rocketmq-binder 现在已与 rocketmq-spring 集成。

最后,我们修复了先前版本中发现的一些错误。

注意:Spring Cloud Alibaba 项目是阿里巴巴维护的一个社区项目。

Spring Cloud Alibaba Seata

Seata 是由阿里巴巴集团和蚂蚁金服联合开源的分布式事务解决方案。Seata 能够集成当下主流的关系型数据库,并以高效、无侵入的方式解决微服务场景下的分布式事务难题。

在 Spring Cloud 层面,Seata 通过在微服务中传递事务上下文来访问 Spring Cloud 层

  • 支持在 Spring MVC 环境中自动恢复 Seata 事务上下文
  • 支持在服务调用方通过 RestTemplate 或 FeignClient 调用服务时自动传递 Seata 事务上下文
  • 支持 FeingClient 与 Hystrix 或 Sentinel 在限流和熔断降级场景下一起使用

Spring Cloud Alibaba Dubbo

Apache Dubbo™ (incubating) 是一个高性能、Java 语言的开源 RPC 框架。

Spring Cloud Alibaba 已与其集成

  • 基于 Dubbo Spring Boot 2.7.1 (最低 JDK 要求:Java 8)
  • 支持所有 Spring Cloud 注册中心实现 Dubbo 服务注册 (包括 Alibaba Nacos),并引入了新的 Dubbo 注册中心协议:“spring-cloud://
  • 扩展了 Spring Cloud 服务间调用的通信协议,这意味着 REST 不再是唯一的选择,您可以选择 Dubbo 支持的更多通信协议,从而获得更好的性能——例如 dubbo、thrift 等。开发者有三种编程模型
    • 标准的 Apache Dubbo:在 Java 接口上使用 @Reference @Service 注解
    • Spring Cloud Open Feign:在 @FeignClient Java 接口上使用 @DubboTransported 注解
    • Spring Cloud RestTemplate:在带有 @LoadBalanced 注解的 RestTemplate 的 @Bean 定义上使用 @DubboTransported 注解
  • 通过 Dubbo 内置的负载均衡器取代 Netflix Ribbon,该负载均衡器提供了加权机制,使事情更加平滑和稳定。

Spring Cloud Alibaba Nacos

Nacos 是一个动态服务发现、配置管理和服务管理平台,可以更轻松地构建云原生应用程序。

Spring Cloud Alibaba Nacos Config

我们更新了 Nacos Config 如下:

  • 将 Nacos Client 版本升级到 1.0.0
  • 支持 spring.cloud.nacos.config.enabled 配置来关闭 Nacos Config 的自动注入
  • spring.profiles.active 替换 spring.cloud.nacos.config.enabled

Spring Cloud Alibaba Nacos Discovery

我们更新了 Nacos 服务注册如下:

  • 将 Nacos Client 版本升级到 1.0.0。
  • 支持命名空间隔离数据。
  • 提供 NacosWatch 来触发 HeartbeatEvent
  • 使 @EnableDiscoveryClient 在注册服务时成为可选配置。

Spring Cloud Alibaba Sentinel

Sentinel 是由阿里巴巴中间件团队开源的分布式系统流量控制组件,旨在提供流量整形、熔断降级、系统负载保护等核心能力,以保障微服务的可用性。

本次发布更新包括:

  • 将 Sentinel 版本升级到 1.5.2
  • 为 sentinel dataSource 添加 ruleType 属性,以修复当 dataSource 第一次加载空数据时规则数据无法动态加载的 bug
  • 修复 @SentinelRestTemplate 在某些场景下不工作的问题
  • SentinelProperties 中添加 JSR 303 验证,并添加两个配置项:客户端 IP 和 CommonFilter 是否初始化
  • 支持 RequestOriginParser 的自动注入
  • @SentinelRestTemplate 对应的 SentinelProtectInterceptor 的优先级最高
  • SentinelEndpoint 现在显示更多信息,例如应用程序名称、日志目录、日志名称策略、Dashboard 地址、指标文件大小、客户端 IP 等
  • 支持 @EnableCircuitBreaker
  • 优化 RestTemplateFeign 中的流量控制和熔断处理逻辑

Spring Cloud Alibaba RocketMQ Binder

RocketMQ 是一个开源的分布式消息系统,基于高可用集群技术,提供低延迟、高可用的消息发布和订阅服务。

本次发布更新包括:

  • 与 RocketMQ Spring 集成并重构
  • 通过仅配置 Alibaba Cloud AK/SK 来支持与 Aliware MQ 的连接
  • 优化了消息发送和消费错误时的处理逻辑
  • 支持异步发送消息,并且默认异步发送消息

Spring Cloud Alibaba Sentinel Zuul

Zuul 是 Netflix 的一个网络网关产品,我们已将其集成到 Sentinel 中。

本次发布更新包括:

  • Sentinel 已集成到 Zuul 中,并提供 SentinelPreFilterSentinelPostFilterSentinelErrorFilter 进行请求拦截
  • 提供 spring.cloud.sentinel.zuul. 的配置前缀来配置 Sentinel Filter

Spring Cloud Alibaba Cloud SMS

SMS 是阿里云提供的一项消息服务。

Spring Cloud Alibaba Cloud SMS 提供以下功能:

  • 支持单次和批量短信发送
  • 支持按手机号码、日期和消息类型查询短信
  • 支持通过订阅下行消息来查询短信发送状态
  • 支持通过订阅上行消息来检索终端用户回复的内容

Spring Cloud Alibaba Cloud SchedulerX

SchedulerX 是阿里巴巴云提供的一款作业调度中间件。

在此版本中,我们修复了循环引用 bug。

如何使用

通过 BOM,这些构件可从 Maven Central 和 Spring Release 仓库中获得,如下所示:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-alibaba-dependencies</artifactId>
            <version>0.9.0.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

下一步

Sentinel 目前支持响应式编程,并将适配 WebFlux 和 Spring Cloud Gateway。

RocketMQ Binder 适配 MessageSource 以进行消息拉取。

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助您加速进步。

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

查看 Spring 社区所有即将举行的活动。

查看所有