Spring Integration for AWS 2.0.0.M2 和 Spring Cloud Stream Kinesis Binder 1.0.0.M2

发布 | Artem Bilan | 2018年4月17日 | ...

亲爱的Spring社区!

我很高兴宣布支持 Amazon Web Services 的 Spring 项目的里程碑版本发布:Spring Integration for AWS 2.0.0.M2Spring Cloud Stream Binder for AWS Kinesis 1.0.0.M2

这两个里程碑版本都可以在 Spring Milestone 仓库中获取,并且可以作为 Maven 依赖项使用。

<dependency>
    <groupId>org.springframework.integration</groupId>
    <artifactId>spring-integration-aws</artifactId>
    <version>2.0.0.M2</version>
</dependency>

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-stream-binder-kinesis</artifactId>
    <version>1.0.0.M2</version>
</dependency>

当第二个依赖项(Spring Cloud Stream Binder for AWS Kinesis)在使用时,第一个依赖项(Spring Integration for AWS)是不需要单独包含的。对于 AWS Kinesis Binder,AWS Kinesis 和 AWS DynamoDB 的 Java SDK 依赖项也会被传递性地包含进来。

这些里程碑版本的发布是团队和一些第三方贡献者辛勤工作的成果,他们从社区通过 StackOverflow 问题、Gitter 聊天、bug 报告和功能请求中获得了宝贵的反馈。在此,感谢所有参与者!

以下是自上次宣布的 里程碑 1 以来的变更:

  • KinesisMessageDrivenChannelAdapter 在 AWS 客户端出现间歇性网络错误时,其容错能力得到了改进。

  • Kinesis Checkpointer 已得到改进,基于 ConcurrentMetadataStore,以实现更好的并发交互,尤其是在集群环境(消费者组)中。

  • SqsMessageHandlerSnsMessageHandler 实现了一个头映射机制,分别是开箱即用的实现 SqsHeaderMapperSnsHeaderMapper

  • 由于 AWS Kinesis 不提供任何头信息注解,我们通过将头信息“嵌入”到 Kinesis Record 主体中实现了变通。为此,KinesisMessageHandlerKinesisMessageDrivenChannelAdapter 应分别配置 OutboundMessageMapperInboundMessageMapper。一个不错的选择是,在双方都可以使用开箱即用的 Spring Integration EmbeddedJsonHeadersMessageMapper 来通过 AWS Kinesis 传递任何所需的message headers。

  • KinesisMessageDrivenChannelAdapter 还提供了当使用 ListenerMode.batch 时转换记录的逻辑。

  • KinesisMessageChannelBinder 已根据 Spring Cloud Stream 和 Spring Integration AWS 的最新更改和修复进行了更新。

  • 此外,还引入了一个新的 rawRecords 监听器模式。默认情况下,Kinesis Binder 配置为 record 模式,其中要发出的消息包含 byte[] 作为 payload,供 Spring Cloud Stream 进行下游转换。batch 模式现在生成 List<byte[]>,而新的 rawRecords 模式生成一个 payload 为 List<Record> 的消息——所有的业务模型转换逻辑都由目标 @StreamListener 方法的用户自行处理。

一如既往,我们欢迎通过适当的沟通渠道提出任何反馈、功能想法、批评、bug 报告和问题!

Spring Integration AWS 项目页面 | Spring Cloud Stream Binder for AWS Kinesis 项目页面 | 帮助 | 聊天

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

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

了解更多

获得支持

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

了解更多

即将举行的活动

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

查看所有