我正在使用分布式系统的Birman-Schiper-Stephenson协议,当前假设任何节点的对等集都不会改变。正如协议所规定的,必须将不按因果顺序发送到节点的消息放入“延迟队列”中。我的问题是延迟队列的组织,我们必须对消息实施某种顺序。在决定顺序之后,我们将不得不制定一个“唤醒”协议,该协议将在修改当前时间戳后有效地搜索队列,以确定是否可以“唤醒”并接受其中一条延迟消息。
我正在考虑根据向量时间戳与该节点时间戳的差异点将延迟的消息分成垃圾箱。但是垃圾箱的数量可能非常大,维护它们效率不高。
请为此类队列提出一些设计建议。