Kafka -在运行时给定id的分区消息



我找到了一个制作人:P1

它创建像这样的事件:

Event: 
- id: uuid
- aggregateId: uuid
- payload: json

我还得到了消费者:C1,C2,C3

kubernetes有可能会创建更多如果他们不需要,消费者或杀死他们。

目标:

  • 我想有相同的aggregateId所有事件传递给同一消费者。
  • 例如,

aggregateId是动态的它只是useridmoneyTransferId等。所以它不能预先定义。

  • 如果任何消费者关闭了相同aggregateId的所有事件应该从现在传递给另一个消费者

  • 如果新的消费者将发生新的事件与未分配的aggregateId应该传递给根据load

    设置的任何消费者集(包括新消费者集)

问题是否可以在Apache Kafka中设置?

是的,你可以在你的生产者中重写Kafkapartitioner.class来使用记录内容,而不是缓存键的默认行为。

或者您可以将aggregateId设置为记录的键,这就是要进行分区的。

消费者组中仍然只能分配一个分区给消费者,并且消费者不能多于分区。

相关内容

  • 没有找到相关文章

最新更新