我正在阅读有关Apache Kafka的内容,我发现了消费者群体的概念。我不明白的是它的用例。来自不同组的两个不同消费者可以阅读正在发布的相同消息。为什么人们想要由两个不同的消费者处理相同的消息?有人可以提供实际用例吗?
答案 0 :(得分:1)
你想把数据写入MySQL 和到Elastic Search 和你有一个读取事件的应用程序,并将一些标记为“错误”。
这些用例中的每一个都是一个单独的应用程序,它希望查看所有事件,因此它们将成为单独的使用者组,并且每个用户都将看到所有消息。
答案 1 :(得分:1)
这实际上是Kafka中最典型的场景:一个应用程序生成一条消息,你有两个不同的系统在这些数据上创建两个不同的视图(即在ES中索引它并在Redis中缓存它)。
在Kafka之前,让你的应用程序将其数据双重写入两个应用程序是很常见的,双重写入的所有问题都带有一致性。
使用Kafka,您可以以组的形式分离尽可能多的消费者系统,并且还具有并行化和容错性,在组内具有多个分区和消费者实例。