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 版本现已发布。

发布亮点

此 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 能够与大多数支持 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 服务注册(包括阿里巴巴 Nacos),并引入了一种新的 Dubbo 注册中心协议:“spring-cloud://127.0.0.1”。
  • 扩展了 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 配置进行了如下更新

  • 将 Nacos 客户端版本升级到 1.0.0。
  • 支持 spring.cloud.nacos.config.enabled 配置以关闭 Nacos 配置自动注入。
  • spring.cloud.nacos.config.enabled 替换为 spring.profiles.active

Spring Cloud Alibaba Nacos 服务发现

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

  • 将 Nacos 客户端版本升级到 1.0.0。
  • 支持命名空间以隔离数据。
  • 提供 NacosWatch 以触发 HeartbeatEvent
  • 使 @EnableDiscoveryClient 可选以注册服务。

Spring Cloud Alibaba Sentinel

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

此版本中的更新包括

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

Spring Cloud Alibaba RocketMQ 绑定器

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

此版本中的更新包括

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

Spring Cloud Alibaba Sentinel Zuul

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

此版本中的更新包括

  • Sentinel 现在已集成 Zuul,并提供SentinelPreFilterSentinelPostFilterSentinelErrorFilter用于请求拦截。
  • 提供spring.cloud.sentinel.zuul.配置前缀来配置 Sentinel 过滤器。

Spring Cloud Alibaba Cloud SMS

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

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

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

Spring Cloud Alibaba Cloud SchedulerX

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

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

如何使用

这些构件可从 Maven Central 和 Spring 发布仓库中获取,方法是使用以下 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 社区中所有即将举行的活动。

查看全部