我正在为我们的应用程序实施基于卡夫卡的解决方案。 根据Kafka文档,我了解的是消费者组中的一个消费者(它是一个线程)内部映射到订阅主题中的一个分区。卡夫卡:多个实例中的单一消费群体
比方说,我有一个主题与40个分区,我有一个高级消费者运行在4个实例。我不希望一个实例消耗另一个实例消耗的相同消息。但是如果有一个实例出现故障,其他三个实例应该能够处理所有消息。
- 我应该去同一个消费者组,每个实例有10个线程吗? - 说#2实例之间相同的消费群体作为传统的同步队列机制
In Apache Kafka why can't there be more consumer instances than partitions?
- 或者我应该去为每个实例不同的消费群?
使用简单的消费或低层次的消费使控制的分区,但这时如果一个实例出现故障时,其他三个实例不会处理从一审消耗的分区
感谢您的解释。所以我认为我应该为我的用例选择第一个选项。如果分区增加,我们最终应该增加消费者线程的数量 – Sudharsan
是的。但试着确保你的消费者线程不超过第3点所述的分区。 –
@DaniccanVP根据答案#1,是否有可能让多个消费者以序列化的方式处理消息。即如果一个消息正在被一个实例处理,另一个消息应该等待。这是高可用性原因所必需的。 – TechEnthusiast