首页 > 解决方案 > 无法正确理解事件中心消费者组的工作方式

问题描述

需求我想并行处理来自多个消费者的事件数据(相同的数据)

在此处输入图像描述

我从文档中了解到,要处理相同的数据表单事件中心,我们需要创建多个消费者组。

消费者组允许多个消费应用程序分别拥有事件流的单独视图,并以自己的速度和自己的偏移量独立读取流。

消息保留 1,分区计数 3

在此处输入图像描述

问题:我没有从 log1 consumer group 获取数据,而是 log1 当我尝试 $Default 和 log2 consumer group 时,我正在并行获取数据。

谁能帮我理解这个问题?

标签: azureazure-eventhub

解决方案


根据官方文档,您的理解是正确的。我尝试创建与您相同的事件中心来重现您的问题。

在此处输入图像描述

在此处输入图像描述

我通过java代码启动2个EPH来分别监控Log1和log2。

然后我向事件中心发送 10 条消息以观察 2 EPH 控制台日志。

在此处输入图像描述

似乎我可以收到他们两个的消息,但是顺序很乱。我猜你的问题是delay


更新答案:

据我所知,delayAzure 事件中心可能会受到很多方面的影响。也许网络,内部的内部机制。但是,Azure 事件中心可确保您的数据在有效存储时间内不会丢失。

如果您需要确保实时数据,您可以使用用于构建实时数据管道和流式应用程序的Kafka 。


推荐阅读