在事件采购场景中,崩溃的事件 - 消费者客户端应该获得所有错过的事件 - 消息来源发布时发布的消息。
恢复算法(假设它是正确的)将是:
订阅活动源(连接1)
请求服务器(连接2)所有错过的消息(" miss-pack"),因为给定的时间戳(在崩溃之前);并在本地申请错过的活动
开始从订阅连接中读取消息,应用时间戳大于错过包中应用的最后一个消息。 (这里,我们假设在订阅和第一次阅读之间发布的所有消息都将被发送给客户端。也许,读取的第一个消息中的一些将是错过包中的最后一个消息,因此需要注意)。 / p>
哪些代理(消息代理,非-sql数据库......)支持编程这个恢复过程"开箱即用",即无需编程服务器(事件源)方。
感谢。
答案 0 :(得分:1)
也许您正在寻找的是追赶订阅"能力。完全由Get Event Store支持。但这实际上是一个数据库,但具有优秀的基于主题的pub / sub功能,还有一个http API。
您可能不知道的是,您可以自己做,只需进行消费者驱动的订阅,消费者知道最后一个检查点(从来没有时间戳,这可能导致令人讨厌的并发问题)成功处理,不是制片人。所以客户端总是可以从它离开的地方继续。
希望这有帮助