Karafka v2.0.26 现已发布。Krafka 是一个用于简化基于 Apache Kafka 的 Ruby 应用开发的框架,它允许开发者在使用异步 Kafka 消息时使用类似于标准 HTTP 约定(params 和 params_batch)的方法。Karafka 不仅可以处理传入的消息,而且还提供了用于构建接收和发送消息的复杂数据流应用程序的工具。
此版本更新内容如下:
- [Feature] 允许通过设置
active
为 false 来禁用给定的主题。它会将它们排除在 consumption 之外,但会允许它们定义使用管理 API 等。 - [Improvement] 当达到请求时间的最后一个可用偏移量时提前终止
read_topic
的运行。 - [Improvement] 引入一种
quiet
状态,表明 Karafka 不仅正在转向 quiet 模式,而且实际上已经达到 quiet 模式,并且在任何 consumer groups 中都不会再发生任何工作。 - [Improvement] 尽可能使用 Karafka 定义的 routes topics,用于
read_topic
管理 API。 - [Improvement] 引入
client.pause
和client.resume
instrumentation hooks,用于跟踪客户端主题分区暂停和恢复。除此之外,它还可以与consumer.consuming.pause
一起,用来跟踪手动和自动暂停,并提供更细化的 consumer 相关细节。client.*
应该被用于 low level tracking。 - [Improvement] 将
LoggerListener
暂停通知替换为一个基于client.pause
而不是consumer.consuming.pause
的通知。 - [Improvement] 扩展
LoggerListener
与client.resume
通知。 - [Improvement] 用稳定的一次匿名订阅组 ID 替换随机的匿名订阅组。
- [Improvement] 添加
consumer.consume
,consumer.revoke
和consumer.shutting_down
通知事件,并将撤销逻辑调用移至策略。 - [Change] 将作业队列统计
processing
键重命名为busy
。无需更改,因为 DataDog 监听器中的命名保持不变。 - [Fix] 修复 proctitle 监听器状态更改报告新状态。
- [Fix] 确保所有 files descriptors 在集成规范中都已关闭。
- [Fix] 修复空订阅组可能会泄漏到执行流程中的情况。
- [Fix] 修复
LoggerListener
报告,使其不以.
结束。 - [Fix] 运行在 Karafka 信号陷阱之前创建的先前定义的(如果有的话)信号陷阱。
更新说明:https://github.com/karafka/karafka/releases/tag/v2.0.26