【发布时间】:2011-11-21 01:37:03
【问题描述】:
我需要一种传输机制,以保证消息的全序广播。
例如,我有三台机器 A、B 和 C,它们发送消息:A -> a0, a1, a2.. aN; B -> b0, b1.. bM; C -> c0, c1.. cK。如果其中一台机器以某种顺序接收消息(a0, a1, b0, c0, b1, a2...),那么所有其他机器将以相同的顺序接收所有消息!
我需要在 .NET 环境中使用这个东西。 NServiceBus 或 Mass Trnansit 可以为我完成这项工作吗?
【问题讨论】:
-
你的意思是如果A、B和C发送消息。其他机器会以相同的顺序接收组合的交错消息流吗?
-
不行,包括A、B、C在内的所有机器都必须以相同的顺序接收所有消息。每条消息都必须传递给每个参与者,包括发件人。这个问题被称为原子广播并且已经解决了 - en.wikipedia.org/wiki/Atomic_broadcast。我正在寻找可用于生产的 .NET 实现。
标签: .net distributed reliability