Karafka v2.0.24 现已发布。Krafka 是一个用于简化基于 Apache Kafka 的 Ruby 应用开发的框架,它允许开发者在使用异步 Kafka 消息时使用类似于标准 HTTP 约定(params 和 params_batch)的方法。Karafka 不仅可以处理传入的消息,而且还提供了用于构建接收和发送消息的复杂数据流应用程序的工具。
此版本更新内容如下:
- [Feature]为 Pro 提供开箱即用的加密支持。
- [改进] 在
#pause
上添加检测。 - [改进] 在重试时添加检测。
- [改进] 分配
#id
给类似于其他实体的 consumers,以便于调试。 - [改进] 在默认的
LoggerListener
中添加重试和暂停。 - [改进] 引入一个新的最终
terminated
状态,该状态将在退出之前启动,但在完成所有检测和其他操作之后。 - [改进] 确保状态转换是线程安全的,并确保状态转换可以单向发生。
- [改进] 优化代理到
Karafka::App
的状态方法。 - [改进] 通过引入显式
#to_s
报告来简化状态使用。 - [改进] 将自动生成的 ID 从
SecureRandom#uuid
更改为SecureRandom#hex(6)
- [改进] 默认情况下每 5 秒发出一次统计信息。
- [改进] 引入可以在需要时交换的通用消息解析器。
- [修复] 启用
consumer_persistence
时不触发代码重新加载。 - [修复] 所有消费者组件关闭且状态为停止后关闭生产者。这将确保任何与 Kafka 消息传递相关的检测仍然可以运行。
升级说明
如果你因为根本不使用而想禁用librdkafka
统计,可更新kafka
statistics.interval.ms
设置并将其设置为0
:
class KarafkaApp < Karafka::App setup do |config| # Other settings... config.kafka = { 'statistics.interval.ms': 0 } end end
更新说明:https://github.com/karafka/karafka/releases/tag/v2.0.24