我在读关于apachekafka的书时,偶然发现了它的消费群体概念。我不明白的是它的用例。来自不同群体的两个不同消费者可能会阅读正在发布的同一条消息。为什么要由两个不同的消费者处理相同的消息?有人能给出一个实际的用例吗?
qeeaahzv1#
您希望将数据写入mysql和elasticsearch,并且有一个应用程序可以读取事件并将某些事件标记为“错误”。这些用例中的每一个都是一个单独的应用程序,它希望看到所有事件,因此它们将是单独的使用者组,并且每个都将看到所有消息。
bz4sfanl2#
这实际上是kafka中最典型的场景:一个应用程序生成一条消息,而您有两个不同的系统在该数据上创建两个不同的视图(即在es中索引该数据并在redis中缓存该数据)。在kafka之前,应用程序将数据双重写入两个应用程序是很常见的,双重写入会带来一致性方面的所有问题。使用kafka,您可以以组的形式派生出尽可能多的使用者系统,并且在组内具有多个分区和使用者示例的并行化和容错功能。
2条答案
按热度按时间qeeaahzv1#
您希望将数据写入mysql和elasticsearch,并且有一个应用程序可以读取事件并将某些事件标记为“错误”。
这些用例中的每一个都是一个单独的应用程序,它希望看到所有事件,因此它们将是单独的使用者组,并且每个都将看到所有消息。
bz4sfanl2#
这实际上是kafka中最典型的场景:一个应用程序生成一条消息,而您有两个不同的系统在该数据上创建两个不同的视图(即在es中索引该数据并在redis中缓存该数据)。
在kafka之前,应用程序将数据双重写入两个应用程序是很常见的,双重写入会带来一致性方面的所有问题。
使用kafka,您可以以组的形式派生出尽可能多的使用者系统,并且在组内具有多个分区和使用者示例的并行化和容错功能。