【发布时间】:2023-04-03 07:09:02
【问题描述】:
我有一个关于 Axon Saga 的问题。我有一个项目,我有三个微服务,每个微服务都有自己的数据库,但是两个“从”微服务必须将他的数据共享给“主”微服务,因为我想使用 Axon Saga。我已经问了一个关于赔偿的问题,当出现问题时,我必须自己处理赔偿,可以,但并不理想。目前我正在使用 DistributedCommandBus 在微服务之间进行通信,这样做有好处吗?我使用的是 Choreography Saga 模型,所以它现在的样子如下:
- Master -> 发送命令 -> Slave1 -> 处理事件
- Slave1 -> 发回命令 -> Master -> 处理事件
- Master -> 发送命令 -> Slave2 -> 处理事件
- Slave2 -> 发回命令 -> Master -> 处理事件
如果出现问题,则补偿命令/事件会倒退。
我的问题是,有没有人对 Axon 做过类似的事情,有补偿,最好的做法是什么?如何重试 Saga 进程?使用 RetryScheduler?如果可以的话,添加一个 github repo。
谢谢,马特
【问题讨论】:
标签: java spring-boot saga axon