【问题标题】:Distributed System - How to guarantee at least once published a message?分布式系统——如何保证至少一次发布消息?
【发布时间】:2019-04-21 13:12:11
【问题描述】:

在将消息发布到服务总线(可能是队列)之前发生故障时,如何保持不同系统(也称为限界上下文)之间的一致性。?

我想出了 3 个选项: 1.使用Udi Dahan方法(Reliable Messaging - https://vimeo.com/111998645),即在与生成事件的实体相同的存储中维护发布的消息信息。 2. 处理数据库事务日志,并将其发布到消息总线。 3. 使用事件溯源方法。

除此之外还有什么选择吗?每种方法的优缺点是什么?

【问题讨论】:

  • 这似乎有点太宽泛了。你指的实际问题是什么?您需要“可靠消息传递”的哪些属性?

标签: microservices publish-subscribe distributed-transactions


【解决方案1】:

像 RabbitMQ 这样的消息代理提供at-least-once 传递保证。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-26
    • 2016-05-06
    • 2018-07-29
    • 1970-01-01
    相关资源
    最近更新 更多