我想问一下 Rebus HTTP Gateway 如何确认消息传递,所以当 OutboundService 发送消息时它如何知道它可以提交或回滚事务。
直观的答案是 HTTP 响应承认它但是查看代码
阅读回复后似乎没有采取任何行动。
提前致谢 :)
我想问一下 Rebus HTTP Gateway 如何确认消息传递,所以当 OutboundService 发送消息时它如何知道它可以提交或回滚事务。
直观的答案是 HTTP 响应承认它但是查看代码
阅读回复后似乎没有采取任何行动。
提前致谢 :)
它做了一个非常简单的“确认”,如果没有发生错误,则假定消息已安全地传递到目标队列。
这意味着无处不在的至少一次交付保证也适用于网关,尽管两次接收相同消息的风险当然会大大增加。
如果对您来说只处理一次消息很重要,您需要使您的接收者具有幂等性——但这通常是您在没有分布式事务的情况下进行消息传递时的规则,因此它与不涉及 HTTP 网关的场景没有什么不同。