我有一个分布式系统,其中节点与消息通信,广播或 p2p 与队列。
如果消息是广播,它会转到消息主题,并且节点会不时地查看它。
不可能知道当前的活节点数,以及节点何时会查看主题,但重要的是所有节点都获得了信息。
如何在确保所有节点都得到通知的同时最大限度地缩短消息生命周期?
或者这是不可能的,重要消息应该进入 p2p 队列?
最佳答案
这对我来说听起来几乎是不可能的。正如您指定的那样,最短生命周期是“永远”,因为您永远不知道某个节点可能决定在多长时间后查看某些特定信息。
这给您留下了两个选择:要么设置超时并在数据过期时销毁数据,要么保留一个节点列表,这些节点希望获知特定事件并(尝试)在相关信息可用时通知它们。
关于algorithm - 分布式主题实现,消息生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8011211/