情境:
我们在多个地理位置上分布有多个节点,我们希望在每个位置上都有收集消息的队列。然后,我们希望将每个节点中收集到的数据发送到它们对应的中央位置的队列中。在中央节点上,我们将提取从其他节点收集到的队列中的数据,进行处理并持久存储。
限制条件:
- 数据对我们非常重要。因此,我们必须确保在任何情况下都不会丢失数据。
- 因此,我们需要在每个节点上使用持久性队列,以便即使节点由于某种随机原因而关闭时,当我们将其启动时,我们也可以将收集到的数据安全地保存,并将其发送到中央节点进行处理。
- 同样,如果中央节点关闭,则数据必须保留在所有其他节点上,以便在中央节点重新启动时,我们可以将所有数据发送到中央节点进行处理。
- 此外,中央节点上的数据不得重复或再次存储。也就是说,在其中一个节点上收集的数据应仅在中央节点上存储一次。
- 我们正在收集的数据对我们非常重要,数据传递到中央节点的顺序不是问题。
- 这些消息队列或任何其他数据存储是否提供可以解决我们问题的功能?如果是,则如何解决?
- 如果不能,那么我们的解决方案是否足够好?
- 有人能建议更好的解决方案吗?
- 有没有更好的方法来做到这一点?
- 使其故障安全的最佳方法是什么?
- 我们正在收集的数据对我们非常重要,数据传递到中央节点的顺序不是问题。