我有一个名为 mytopic 的主题。该主题有 1 个生产者和 2 个消费者。我需要做的是根据生产者的前缀过滤生产者生成的消息。例如,如果消息以“a”前缀开头,则只有第一个消费者必须接受它。如果它以“b”前缀开头,则只有第二个消费者必须使用它。
我做了很多搜索,我发现过滤来自某个主题的消息,然后过滤后将它们发送到不同的主题。但如上所述,我需要对一个主题进行过滤。我怎样才能在卡夫卡中做到这一点?
允许两个消费者使用所有数据,一旦获得记录,就使用java 流和特定于消费者的过滤器逻辑来过滤它们。
简而言之,我的意思是按原样获取数据并使用 java 代码过滤它们,而不是在 Kafka 级别执行此操作。
更新:
如果要在Kafka Level进行过滤,可以使用Partitions,在向 kafka topic 发送消息时,将前缀为 'a' 的消息发送到 Partition-1 ,将前缀为 'b' 的消息发送到 Partition-2。
现在,在消费时只需消费各个消费者中的特定分区。