我是 Kafka 的新手 . 我正在尝试使用分配给该主题的1个主题和1个使用者组来实现简单的排队系统 . 但是我无法弄清楚如何创建一个消费者群体 .
附:我正在使用Ruby,使用kafka-rb gem .
谢谢!埃里克
Update: 我们(Zendesk)发布了Racecar,这是一个基于ruby-kafka构建的简化Kafka消费者框架 .
Racecar消费者看起来像这样:
# simple_consumer.rb class SimpleConsumer < Racecar::Consumer subscribes_to "some-topic" def process(message) puts message.value end end
要运行它,只需执行以下操作:
$ gem install racecar $ racecar --require my_consumer MyConsumer
阅读更多关于Github的信息:https://github.com/zendesk/racecar
原帖:
这里's how you' d在ruby-kafka中执行:
require "kafka" kafka = Kafka.new(seed_brokers: ["kafka1", "kafka2"]) consumer = kafka.consumer(group_id: "my-group") consumer.subscribe("my-topic") consumer.each_message do |message| puts message.value end
有关更多信息,另请参阅README .
如果您查看kafka consumer(http://kafka.apache.org/documentation.html)的配置, group.id 是一个唯一字符串,用于标识此使用者所属的使用者组 . By default, it is ""
group.id
似乎 kafka-rb 没有提供这样做的方法 . 但是其他一些宝石可以帮助你这样做https://github.com/zendesk/ruby-kafka#consumer-groups https://github.com/karafka/karafka#group
kafka-rb
我一直在寻找同样的东西,我实际上并不是Kafka的一部分,而是Java驱动程序与ZooKeeper一起工作的东西 . 如果您阅读了Kafka 0.7(http://kafka.apache.org/07/design.html)的设计文档,那么有一个 Headers 为"Consumers and Consumer Groups"的部分,他们会在那里谈论它 . 这是有道理的,因为ZooKeeper可以很容易地用于跟踪一组消费者的最新偏移量 .
3 回答
Update: 我们(Zendesk)发布了Racecar,这是一个基于ruby-kafka构建的简化Kafka消费者框架 .
Racecar消费者看起来像这样:
要运行它,只需执行以下操作:
阅读更多关于Github的信息:https://github.com/zendesk/racecar
原帖:
这里's how you' d在ruby-kafka中执行:
有关更多信息,另请参阅README .
如果您查看kafka consumer(http://kafka.apache.org/documentation.html)的配置,
group.id
是一个唯一字符串,用于标识此使用者所属的使用者组 . By default, it is ""似乎
kafka-rb
没有提供这样做的方法 . 但是其他一些宝石可以帮助你这样做https://github.com/zendesk/ruby-kafka#consumer-groups https://github.com/karafka/karafka#group我一直在寻找同样的东西,我实际上并不是Kafka的一部分,而是Java驱动程序与ZooKeeper一起工作的东西 . 如果您阅读了Kafka 0.7(http://kafka.apache.org/07/design.html)的设计文档,那么有一个 Headers 为"Consumers and Consumer Groups"的部分,他们会在那里谈论它 . 这是有道理的,因为ZooKeeper可以很容易地用于跟踪一组消费者的最新偏移量 .