我有一个关于重新平衡有些怀疑。现在,我手动分配分区消费。所以,按照文档,将有万一消费者不休假重新平衡/坠毁在一个消费群体。
比方说,有3名和3个消费者在同一组,每个分区手动分配给每一个消费者。而经过一段时间后,第3次消费下降。由于没有再平衡,什么一切措施我可以保证最小的停机时间?我是否需要更改任何一日2个分区配置,开始从第3分区或别的东西消耗?
好吧,我不知道为什么你会手动指定分区给消费者?
我想你需要写rebalanceListener。 https://kafka.apache.org/0100/javadoc/org/apache/kafka/clients/consumer/ConsumerRebalanceListener.html
我的建议是:只让卡夫卡决定哪个消费者会听哪个分区,你就不必担心这个问题。
虽然有可能是背景下,将使该方法有效,因为写的,我怀疑你的方法一点点。
确保最短的停机时间,最好的办法是让卡夫卡经纪人和饲养员做什么,他们所擅长的,管理你的消费者,其中包括重新分配分区之间的工作负荷(分区)当消费者出现故障。
你的最佳路径是可能使用OnPartitionsRevoked和OnpartitionsAssigned事件来处理任何逻辑,你需要能够承担起一个新的分区(见这些事件JRS链接,更详细信息)。
我将描述的最近使用情况我有,希望它是有关您的用例。最近,我有5名消费者要求的50个亿个对象的内存缓存。如果不分区,每个消费者都有自己的缓存,导致250万级的对象。为了减少这一数字到原来的50万元,我们可以使用onpartitionsrevoked事件来清除缓存和onassigned与指定的分区相关缓存重新填充缓存。
短期使用这两个处理程序,如果你真的想手动分配你的分区,你将不得不做的所有编排自己的:
正如你可能会从列表中告诉,你带来的伤害的一个真实的世界,如果你强迫自己沿着这条路走下去,你可能不会做得比卡夫卡经纪人更好的工作 - 有一个完整的业务,其所有精力都放在重点正在开发和维护卡夫卡,所以你不必处理所有复杂的。
• 在使用 PySpark 消费来自 Kafka 的消息时处理架构演变
• Kafka 生产者在 org.apache.kafka.clients.producer.RoundRobinPartitioner 中的 0、2、4 等替代分区中产生价值
• Swiper Slider 在 Bootstrap 选项卡面板中不起作用
• 如何在 Python FMX GUI 应用程序中为 TabControl 设置活动选项卡?
• “PreparingRebalance”后面的数字是什么意思?
• 如果 1 个消费者组中有 1 个主题和 1 个消费者,但 1 个消费者在多台机器上运行,Kafka 将如何管理事件顺序
• 在Selenium中的单个窗口中改变不同页面之间的驱动焦点
• RabbitMq 消费者不工作,因为 micronaut 将执行线程分配给 kafka 消费者
• 如何在不清除旧选项卡的情况下使用 viewpager 在 android java 选项卡布局中添加新选项卡?
• bootstrap 模式在更新到 bootstrap 3.3.0 后停止运行
• 如何在没有 Nvidia DLL 的情况下调试 OpenCV 程序?