我有两个Kafka的消费者(组),他们处理一个主题的并行结果。他们将结果作为消息发送到一个主题。现在我想实现一个kafka消费者,它应该接受这两个结果(从一个消息计算)并聚合它。由于这是一个更有状态的处理,我将如何实现一个Kafka消费者(spring Boot )协调上游消费者的完成?我知道这样的东西可以在Apache Flink
、Kafka streams和其他这样的框架中实现,尽管很想看看是否存在其他的选择。
我有两个Kafka的消费者(组),他们处理一个主题的并行结果。他们将结果作为消息发送到一个主题。现在我想实现一个kafka消费者,它应该接受这两个结果(从一个消息计算)并聚合它。由于这是一个更有状态的处理,我将如何实现一个Kafka消费者(spring Boot )协调上游消费者的完成?我知道这样的东西可以在Apache Flink
、Kafka streams和其他这样的框架中实现,尽管很想看看是否存在其他的选择。
1条答案
按热度按时间s4chpxco1#
用一个公共键来键控结果输出,并给每个结果加上一个结果计数器和预期的总数。消费者,然后对每个键,只需要等待,直到它收到预期的数字。你可以用Kafka Streams很容易地做到这一点。这是一种水印模式。