使用 Spring Cloud Stream 和 Apache Kafka Streams 进行流处理。第六部分 - 状态存储和交互式查询

工程 | Soby Chacko | December 09, 2019 | ...

Part 1 - 编程模型 Part 2 - 编程模型(续) Part 3 - 数据反序列化和序列化 Part 4 - 错误处理 Part 5 - 应用程序定制

在本部分(本系列的第六部分,也是最后一部分),我们将深入研究 Spring Cloud Stream Kafka Streams Binder 如何支持 Kafka Streams 中的状态存储和交互式查询。

命名状态存储

当应用程序需要维护状态时,Kafka Streams 允许您将该状态信息具体化为一个命名状态存储。Kafka Streams 中有多种操作需要跟踪状态,例如 countaggregatereduce、各种 windowing 操作等。在大多数情况下,Kafka Streams 使用一个名为 RocksDB 的特殊数据库来维护这个状态存储(除非您明确更改…)

Spring Boot 2.1.11 现已可用

发布 | Madhura Bhave | December 06, 2019 | ...

我代表团队和所有贡献者,很高兴宣布 Spring Boot 2.1.11 已发布,现已可从 repo.spring.io 和 Maven Central 获取。

本次发布包括 53 个修复、改进和依赖项升级。感谢所有提交问题报告和拉取请求的贡献者。

您如何提供帮助?

如果您有兴趣提供帮助,请查看问题仓库中的 “非常适合贡献”标签。如果您有一般性问题,请在 stackoverflow.com 上使用 spring-boot 标签提问,或在 Gitter 上与社区交流。

项目页面 | GitHub | 问题 | 文档 | Stack Overflow |

Spring Boot 2.2.2 现已可用

发布 | Brian Clozel | December 06, 2019 | ...

我代表团队和所有贡献者,很高兴宣布 Spring Boot 2.2.2 已发布,现已可从 repo.spring.io 和 Maven Central 获取。

本次发布包括 88 个修复、改进和依赖项升级。感谢所有提交问题报告和拉取请求的贡献者。

您如何提供帮助?

如果您有兴趣提供帮助,请查看问题仓库中的 “非常适合贡献”标签。如果您有一般性问题,请在 stackoverflow.com 上使用 spring-boot 标签提问,或在 Gitter 上与社区交流。

项目页面 | GitHub | 问题 | 文档 | Stack Overflow |

Spring Data R2DBC 正式发布

发布 | Mark Paluch | December 06, 2019 | ...

我代表团队和所有贡献者,非常高兴宣布 Spring Data R2DBC 1.0 已正式发布,可从 repo.spring.io 和 Maven Central 获取!

Spring Data R2DBC 1.0 是一个用于刚刚发布的 R2DBC 规范的非阻塞数据库客户端库,它允许您构建使用 SQL 数据库的响应式应用程序。Spring Data R2DBC 最显著的特点是

  • 数据访问的函数式响应式声明
  • 流式 API
  • 支持事务
  • 命名参数支持(方言感知)
  • 存储库
  • Kotlin Coroutines 扩展

Spring Data R2DBC 1.0 需要 JDK 8 或更高版本以及任何 R2DBC 驱动程序。前往 start.spring.io 添加 R2DBC 来配置您的依赖项,或者,如果您已经在使用 Spring Boot R2DBC starter,请将您的 spring-boot-bom-r2dbc 升级到 0.1.0.M3

使用 Spring Cloud Stream 和 Apache Kafka Streams 进行流处理。第五部分 - 应用程序定制

工程 | Soby Chacko | December 06, 2019 | ...

Part 1 - 编程模型 Part 2 - 编程模型(续) Part 3 - 数据反序列化和序列化 Part 4 - 错误处理

在这篇博文中,我们将继续讨论 Spring Cloud Stream 中对 Kafka Streams 的支持。我们将详细阐述如何定制 Kafka Streams 应用程序。

定制 StreamsBuilderFactoryBean

Kafka Streams binder 使用由Spring for Apache Kafka 项目提供的 StreamsBuilderFactoryBean,来构建 StreamsBuilder 对象,该对象是 Kafka Streams 应用程序的基础。这个 factory bean 是一个 Spring 生命周期 bean。出于各种原因,通常需要在启动之前定制这个 factory bean。如关于错误处理的上一篇博文所述,您需要定制 StreamsBuilderFactoryBean

使用 Spring Cloud Stream 和 Apache Kafka Streams 进行流处理。第四部分 - 错误处理

工程 | Soby Chacko | December 05, 2019 | ...

Part 1 - 编程模型 Part 2 - 编程模型(续) Part 3 - 数据反序列化和序列化

继续探讨 Spring Cloud Stream Kafka Streams binder 系列,在这篇博文中,我们将研究 Kafka Streams binder 中可用的各种错误处理策略。

Kafka Streams 中的错误处理主要围绕着入站时发生的反序列化错误以及出站时发生的生产错误。

处理反序列化异常

Kafka Streams 允许您注册反序列化异常处理器。默认行为是,当发生反序列化异常时,它会记录错误并使应用程序失败(LogAndFailExceptionHandler)。它也允许您记录并跳过该记录,然后继续应用程序(LogAndContinueExceptionHandler)。通常,您需要提供相应的…

Spring Data Moore SR3 和 Lovelace SR14 发布

发布 | Jens Schauder | December 04, 2019 | ...

我代表社区,很高兴宣布 Spring Data Moore SR3Lovelace SR14 现已可从 Maven Central 获取。这两个版本总共包含近 70 个议题,主要是错误修复和依赖项升级。

Moore SR3 构建于最近发布的 Spring Framework 5.2.2 之上,并将被 Spring Boot 2.2.2 采用以便于使用,而 Lovelace SR14 构建于最近发布的 Spring Framework 5.1.12 之上,并将被 Spring Boot 2.1.11 采用以便于使用。

以下是参考文档、变更日志和工件的链接,包括…

使用 Spring Cloud Stream 和 Apache Kafka Streams 进行流处理。第三部分 - 数据反序列化和序列化

工程 | Soby Chacko | December 04, 2019 | ...

Part 1 - 编程模型 Part 2 - 编程模型(续)

在前两篇博文的基础上,在这个关于使用 Spring Cloud Stream 和 Kafka Streams 编写流处理应用程序的系列中,现在我们将详细探讨这些应用程序如何处理入站时的反序列化和出站时的序列化。

Kafka Streams 中所有三个主要的更高级类型 - KStream<K,V>KTable<K,V>GlobalKTable<K,V> - 都使用键和值。

借助 Spring Cloud Stream Kafka Streams 支持,键始终通过使用原生的 Serde 机制进行反序列化和序列化。Serde 是一个容器对象,它提供一个反序列化器和一个…

Spring Batch 4.0.4、4.1.3 和 4.2.1 现已可用!

发布 | Mahmoud Ben Hassine | December 04, 2019 | ...

很高兴宣布发布 Spring Batch 4.0.4、4.1.3 和 4.2.1,包含错误修复以及文档和依赖项更新。请在发布说明中找到完整的变更列表:4.0.44.1.34.2.1

正如我们今年早些时候宣布的那样,4.0.4 版本是 4.0 分支的最后一个版本。4.1.x 分支明年将发布另一个错误修复版本,4.1.4 将是该分支的最后一个版本。请尽快升级到 v4.2+,因为这是目前主要的活跃分支。

下一个特性版本将是 4.3,计划于 202… 年 10 月正式发布(GA)…

订阅 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

先行一步

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

了解更多

获得支持

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

了解更多

近期活动

查看 Spring 社区所有近期活动。

查看全部