我想了解 Saga Pattern 使用编排是如何工作的。
在我发现的所有参考资料中,似乎每个步骤都需要使用异步通信进行通信,例如队列或事件流集线器。
我在想是否真的有必要在每个步骤之间使用异步通信,或者我可以使用 Http 同步来保证每个步骤都是幂等的?
例如
我收到一个存储在队列或事件流中心(如 Kafka)中的 http 请求。然后是单个消费者,消费消息并执行一系列同步幂等步骤,就像 SAGA 编排机制一样。如果其中一个步骤失败,消息最终将被重新处理,所以我可以补偿一个步骤,如果它失败了。