我有一个名为 mytopic 的主题。该主题有 1 个生产者和 2 个消费者。我需要做的是根据前缀过滤生产者生成的消息。例如,如果一条消息以“a”前缀开头,那么只有第一个消费者必须接受它。如果它以 'b' 前缀开头,那么只有第二个消费者必须接受它。
我搜索了很多,我发现的是过滤来自一个主题的消息,然后在过滤后将它们发送到不同的主题。但是如上所述,我需要对一个主题进行过滤。我如何在 Kafka 中做到这一点?
最佳答案
允许两个消费者使用所有数据,一旦您使用 java 流 和特定于消费者的过滤逻辑来过滤它们。
简而言之,我的意思是按原样获取数据并使用 java 代码过滤它们,而不是在 Kafka 级别执行。
更新:
如果你想在Kafka Level过滤,你可以使用partitions,同时发送消息到kafka topic,发送前缀为'a'的消息到Partition -1,以及带有前缀 'b' 的消息到 Partition-2。
现在,在消费时只消费各自消费者中的特定分区。
关于java - 如何使用 Apache Kafka 进行内容过滤?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49040989/