我正在寻找分布式实时系统的中间件。要求非常简单 - 使用持久存储的发布/订阅键值存储:
那里有什么可以自然地实现这种模式吗?我到目前为止看到的最好的是Redis,但它需要在每一方进行两次单独的交易,在发布者上写和发布(以及订阅+获取订阅者)这意味着它不是一个基本用例,并不保证它不会错过更新发生在这两个电话之间。我知道的一个商业产品是Tibco ActiveSpaces,但理想情况下是寻找开源和.NET或至少基于Windows的东西。
答案 0 :(得分:0)
OMG's Data Distribution Service for Real-Time Systems(简称DDS)是一个标准,有几个实现可以做你想要的。
您正在寻找的“持久数据”可以通过使用名为“transient”,“transient_local”或“persistent”的正确服务质量设置来实现,具体取决于您是否希望数据的生命周期为超过其源的生命周期,甚至整个系统的生命周期。
“最后一个值”语义是一种常见的用例和默认行为,但如果需要,DDS可以存储更多内容。
如需更长时间的介绍,请查看this video。