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

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

亲爱的 Spring 社区!

我很高兴地宣布 Spring 项目的里程碑版本,这些项目支持 Amazon Web ServicesSpring 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>

当使用第二个版本时,不需要包含第一个版本。AWS Kinesis Binder 也传递包含了 AWS KinesisAWS DynamoDB Java SDK 依赖项。

这些里程碑版本是团队和一些第三方贡献者在社区通过 StackOverflow 问题、Gitter 聊天、错误报告和功能请求提供宝贵反馈后的努力成果。因此,感谢所有参与其中的人!

以下是自之前宣布的 里程碑 1 以来所做的更改。

  • KinesisMessageDrivenChannelAdapter 针对 AWS 客户端中发生间歇性网络错误时的容错能力进行了改进。

  • Kinesis Checkpointer 已经改进为基于 ConcurrentMetadataStore,以便更好地进行并发交互,尤其是在集群环境(消费者组)中。

  • SqsMessageHandlerSnsMessageHandler 实现了一种标头映射机制——分别为 SqsHeaderMapperSnsHeaderMapper 作为开箱即用的实现。

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

  • 当使用 ListenerMode.batch 时,KinesisMessageDrivenChannelAdapter 也已提供转换记录的逻辑。

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

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

像往常一样,欢迎通过适当的通信渠道提供任何反馈、功能构想、批评、错误报告和问题!

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

获取 Spring 新闻通讯

与 Spring 新闻通讯保持联系

订阅

领先一步

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

了解更多

获取支持

Tanzu Spring 在一个简单的订阅中提供对 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

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

查看全部