我正在处理从现场设备接收消息的情况。这些消息已标记有序列号,我需要按原始顺序处理这些消息。消息很少会丢失但并非不可能,因此我需要一个 to 机制来处理它。
我的实现是基于 NServiceBus 构建的,并且我正在使用“HandleCurrentMessageLater”功能将消息弹出到队列的后面,以防消息被乱序接收。
如果我最终收到序列中的下一条消息,这样我就可以处理积压的工作,这很好用。
在这种情况下,我必须有哪些选项来处理丢失的消息?我的第一反应是实现某种老化算法,该算法会在一定次数的失败尝试或类似情况后增加序列号,但是必须这样做的复杂性有点令人难以置信。
有没有人遇到过类似的问题并愿意分享他们是如何解决的?
谢谢