要求我想并行处理来自多个消费者的事件数据(相同数据)
我从文档中了解到,要处理来自事件中心的相同数据,我们需要创建多个消费者组。
消费者组使多个消费应用程序能够各自拥有事件流的单独 View ,并以自己的速度和自己的偏移量独立读取流。
消息保留1, 分区数3
问题:我没有从 log1 消费者组获取数据,而是从 log1 获取数据。当我尝试 $Default 和 log2 消费者组时,我正在并行获取数据。
谁能帮我解决这个问题?
最佳答案
基于official doc ,你的理解是正确的。我尝试创建与您相同的事件中心来重现您的问题。
我通过java代码启动2个EPH来分别监控Log1和log2。
然后,我向事件中心发送 10 条消息来观察 2 EPH 控制台日志。
好像都能收到他们两个的消息,不过顺序乱了。我猜你的问题是延迟
。
更新答案:
据我所知,Azure 事件中心的延迟
可能会受到许多方面的影响。也许是网络,内部机制。但是,Azure 事件中心可确保您的数据在有效存储时间内不会丢失。
如果需要保证数据的实时性,可以使用Kafka用于构建实时数据管道和流应用程序。
关于azure - 无法正确理解事件中心消费者组的工作方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50097386/