我正在使用ActiveMQ,我有一个场景,我需要为100个消费者并行更新事件。
我正在寻找一种解决方案,其中100名消费者同时接收事件(即不应该有不一致的情况下,很少的消费者收到数据,很少还没有收到数据),只有当所有消费者收到事件时,我需要考虑的事件,因为事件更新是成功的。
有可用的体系结构吗?
发布于 2019-12-23 15:24:54
在100名消费者同时接收事件的地方(即不应该出现不一致的情况,就像很少的消费者收到了数据,很少的人还没有收到数据)
在网络存在的情况下,不能保证所有消费者同时接收事件。为什么?
因此,只有当所有的消费者收到我需要考虑的事件,事件更新才是成功的。
您正在寻找的不是一种让所有消费者同时接收事件的方式,而是让所有消费者都向发件人返回确认。
在数据库中使用了这样一个协议的例子& 用MongoDB写关注点根据有多少节点确认写入来确定数据库写入是否被认为是成功的。您可以对数据库进行更多的研究,或者阅读关于如何实现这样一个协议的类似文章。
我要提醒的是,要求100个节点确认以保证成功将是一个非常昂贵的操作,很可能不会扩大规模。
https://softwareengineering.stackexchange.com/questions/402843
复制相似问题