本周 Spring 动态 - 新年特刊 - 2019 年 12 月 31 日

工程 | Josh Long | 2019 年 12 月 31 日 | ...

Spring 粉丝们,新年快乐!欢迎收看另一期特别的“本周 Spring 动态”。通常,在新年前后发布的第一篇博文中,我会回顾过去一年中最重要的时刻。今年,鉴于我们将要步入的不仅仅是新的一年,更是新的十年,我将尽我所能,提炼出过去十年 Spring 生态系统中最大、最好的内容。我面临的难题不在于想不出要提什么,而在于如何限制我要提及的内容数量!

从何说起呢?很难相信我们社区已经走了这么远。请记住,Spring 最早的代码可以追溯到 2001 年,将近 19 年前。Spring 的创始者 Rod Johnson 在这篇博文——《Spring 的十八年》——中,回顾了 Spring 在过去近二十年的发展历程……

本周 Spring 动态 - 2019 年 12 月 24 日

工程 | Josh Long | 2019 年 12 月 24 日 | ...

Spring 粉丝们!欢迎收看另一期《本周 Spring 动态》!你能相信已经是 12 月 24 日了吗?我们已经过了两个晚上的光明节,离圣诞节还有一天,离宽扎节还有一天,离节礼日还有两天,还有其他一些节日。距离新的一年,新十年的第一年,也只有一周了!我简直不敢相信!到 2020 年底,我将(正式)加入 Spring 团队 10 年,也将进行这些《本周 Spring 动态》的 roundup 10 年。能成为团队的一员,我感到非常荣幸。

我喜欢一年的这个时候。对我来说,这是与家人团聚、庆祝、恢复精力、为新年积蓄力量的时刻。我非常期待 2020 年的到来!我也很激动,因为下周,这个专栏——就像往年一样——将是一期特别的《本年度 Spring 动态》……

本周 Spring 动态 - 2019 年 12 月 18 日

工程 | Josh Long | 2019 年 12 月 18 日 | ...

Spring 粉丝们!本周我在美丽的日本东京,刚刚在一年一度的 Spring Fest 大会上发表演讲。我非常喜欢这次大会,希望他们从我的演讲中有所收获。

上周很难熬。可能是我人生中最艰难的一周。我没有发布《A Bootiful Podcast》的节目。你不会在博客上看到那期节目,因为那是为我上周去世的父亲(享年 81 岁)献上的,我心碎的悼念。在那期不到 20 分钟的简短节目中,没有采访。

我感觉好多了,很高兴能回到工作中……

Flux 之飞翔 3 - 跳跃线程和调度器

工程 | Simon Baslé | 2019 年 12 月 13 日 | ...

这篇博文是系列文章中的第三篇,旨在深入探讨Reactor更高级的概念和内部工作原理。

在这篇文章中,我们探索了线程模型,一些(大多数)操作符如何与并发无关,Scheduler 抽象以及如何使用 publishOn 等操作符在序列中从一个线程跳跃到另一个线程。

这个系列源于 Flight of the Flux 演讲,我发现其内容更适合博文格式。

下表将在其他文章发布时更新链接,但这是计划中的内容

  1. 组装与订阅
  2. 调试注意事项
  3. 跳跃线程和调度器(本文)
  4. 内部工作原理:工作窃取
  5. 内部工作原理:操作符融合

本周 Spring 动态 - 2019 年 12 月 10 日

工程 | Josh Long | 2019 年 12 月 10 日 | ...

Spring 粉丝们!欢迎收看另一期《本周 Spring 动态》!今天我刚刚结束在澳大利亚布里斯班的活动,在那里参加了盛大的 YOW! 大会。这绝对是我最喜欢的大会之一。我感觉自己和其他演讲者比起来像个冒牌货。我强烈推荐这次大会。

我马上就要登上回旧金山的航班了,我们还有很多内容要讲,所以我们开始吧!

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

工程 | Soby Chacko | 2019年12月09日 | ...

第一部分 - 编程模型 第二部分 - 编程模型(续) 第三部分 - 数据反序列化和序列化 第四部分 - 错误处理 第五部分 - 应用程序定制

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

命名状态存储

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

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

工程 | Soby Chacko | 2019 年 12 月 6 日 | ...

第一部分 - 编程模型 第二部分 - 编程模型(续) 第三部分 - 数据反序列化和序列化 第四部分 - 错误处理

在本篇博文中,我们将继续探讨 Spring Cloud Stream 对 Kafka Streams 的支持。我们将详细介绍如何自定义 Kafka Streams 应用程序。

自定义 StreamsBuilderFactoryBean

Kafka Streams 绑定器使用 Spring for Apache Kafka 项目提供的 StreamsBuilderFactoryBean 来构建 StreamsBuilder 对象,这是 Kafka Streams 应用程序的基础。这个工厂 Bean 是一个 Spring 生命周期 Bean。通常,在启动之前必须出于各种原因自定义此工厂 Bean。正如上一篇关于错误处理的博文 中所述,您需要自定义 StreamsBuilderFactoryBean……

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

工程 | Soby Chacko | 2019 年 12 月 05 日 | ...

第一部分 - 编程模型 第二部分 - 编程模型(续) 第三部分 - 数据反序列化和序列化

在本篇博文中,我们将继续探讨 Spring Cloud Stream 的 Kafka Streams 绑定器的系列内容,着重讨论 Kafka Streams 绑定器中可用的各种错误处理策略。

Kafka Streams 中的错误处理主要集中在反序列化(入站)和生产(出站)过程中发生的错误。

处理反序列化异常

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

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

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

了解更多

获得支持

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

了解更多

即将举行的活动

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

查看所有