如何在服务总线中发布消息(可能是队列)之前发生故障时,如何保持不同系统(也称为有界上下文)之间的一致性。
我找出了3个选项:1。使用Udi Dahan方法(Reliable Messaging - https://vimeo.com/111998645),即在与生成事件的实体相同的商店中维护已发布的消息信息。 2.处理数据库事务日志记录,并将其发布到消息总线。 3.使用事件采购方法。
除此之外还有其他选择吗?每种方法的优缺点是什么?
像RabbitMQ这样的消息经纪人提供at-least-once交付保证。