我想问一下Rebus HTTP Gateway如何确认消息传递,以便当OutboundService发送消息时它知道它可以提交或回滚事务。
直观的答案是,HTTP响应会确认它,但是会查看代码
在阅读回复后似乎没有采取任何行动。
提前致谢:)
答案 0 :(得分:2)
它以的方式执行非常简单的“确认”,如果没有错误发生,则假定该消息已安全地传递到目标队列。
这意味着无处不在的至少一次 - 交付保证也存在于网关之间,尽管两次接收相同消息的风险当然会大大增加。
如果您只需要处理每条消息一次很重要,那么您需要制作接收器idempotent - 但这通常是您在没有分布式事务的情况下进行消息传递的规则,因此它与没有分布式事务的情况有所不同没有涉及HTTP网关。