用于 AWS 的 Spring Integration 2.0.0.M2 和 Spring Cloud Stream Kinesis Binder 1.0.0.M2

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

尊敬的 Spring 社区!

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

这两个里程碑版本都可以在 Spring 里程碑存储库中找到,它们可以作为 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 KinesisAWS DynamoDB Java SDK 依赖项也以传递方式包含在 AWS Kinesis Binder 中。

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

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

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

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

  • 已为 SqsMessageHandlerSnsMessageHandler 实施了标头映射机制 - SqsHeaderMapperSnsHeaderMapper 分别作为现成的实现。

  • 由于 AWS Kinesis 不提供任何标头表示法,因此我们通过将标头嵌入到 Kinesis Record 主体中来实现解决方法。为此,KinesisMessageHandlerKinesisMessageDrivenChannelAdapter 应分别配置 OutboundMessageMapperInboundMessageMapper。作为一个不错的选择,可以使用现成的 Spring Integration EmbeddedJsonHeadersMessageMapper 在两侧通过 AWS Kinesis 传输任何所需的消息标头。

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

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

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

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

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

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

抢先一步

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

了解更多

获得支持

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

了解更多

即将举行的活动

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

查看全部