Spring Cloud Alibaba 的预览版本已发布:0.9.0、0.2.2 和 0.1.2

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

注意:这是来自我们的阿里巴巴朋友的客座博文。

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

版本亮点

本次通用版本中包含 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 能够与大多数支持 ACID 事务的现有关系型数据库集成,以高效且无侵入的方式解决微服务场景中的分布式事务问题。

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

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

Spring Cloud Alibaba Dubbo

Apache Dubbo™ (孵化中) 是一个高性能、基于 Java 的开源 RPC 框架。

Spring Cloud Alibaba 与其集成

  • 基于 Dubbo Spring Boot 2.7.1 (最低 JDK 要求:Java 8)
  • 支持所有 Spring Cloud 注册中心实现用于 Dubbo 服务注册(包括 Alibaba Nacos)并引入了一种新的 Dubbo 注册中心协议:“spring-cloud://localhost
  • 扩展了 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 配置

我们对 Nacos Config 进行了如下更新

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

Spring Cloud Alibaba Nacos 服务发现

我们对 Nacos 服务注册进行了如下更新

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

Spring Cloud Alibaba Sentinel

Sentinel 是由阿里巴巴中间件团队开发的开源项目,用于解决分布式架构中的流量控制问题并确保高可用性。Sentinel 将“流”作为突破点,通过流量控制、熔断和系统负载保护来帮助您确保服务的可靠性。

此版本中的更新包括

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

Spring Cloud Alibaba RocketMQ Binder

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

此版本中的更新包括

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

Spring Cloud Alibaba Sentinel Zuul

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

此版本中的更新包括

  • Sentinel 现已与 Zuul 集成,并提供 `SentinelPreFilter`、`SentinelPostFilter`、`SentinelErrorFilter` 用于请求拦截
  • 提供配置前缀 `spring.cloud.sentinel.zuul.` 来配置 Sentinel Filter

Spring Cloud Alibaba 云短信

短信是由阿里云提供的消息服务。

Spring Cloud Alibaba 云短信提供以下功能

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

Spring Cloud Alibaba 云 SchedulerX

SchedulerX 是由阿里云提供的作业调度中间件工具。

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

如何使用

这些构件可从 Maven Central 和 Spring Release 仓库获取,使用 BOM 如下所示

<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 社区所有即将举行的活动。

查看全部