Microservices 在同步HTTP请求中使用SAGA模式

Microservices 在同步HTTP请求中使用SAGA模式,microservices,distributed-transactions,saga,outbox-pattern,Microservices,Distributed Transactions,Saga,Outbox Pattern,我想了解使用编排的传奇模式是如何工作的 在我找到的所有参考文献中,似乎每个步骤都需要使用异步通信(如队列或事件流中心)进行通信 我在想,在每个步骤之间使用异步通信是否真的有必要,或者我是否可以使用Http同步来保证每个步骤都是幂等的 例如 我收到一个http请求,该请求存储在队列或事件流中心中,如Kafka。然后,单个使用者使用消息并执行一系列同步幂等步骤,如SAGA编排机制。如果其中一个步骤失败,消息最终将被重新处理,因此如果一个步骤失败,我可以对其进行补偿

我想了解使用编排的传奇模式是如何工作的

在我找到的所有参考文献中,似乎每个步骤都需要使用异步通信(如队列或事件流中心)进行通信

我在想,在每个步骤之间使用异步通信是否真的有必要,或者我是否可以使用Http同步来保证每个步骤都是幂等的

例如

我收到一个http请求,该请求存储在队列或事件流中心中,如Kafka。然后,单个使用者使用消息并执行一系列同步幂等步骤,如SAGA编排机制。如果其中一个步骤失败,消息最终将被重新处理,因此如果一个步骤失败,我可以对其进行补偿