【发布时间】:2020-01-11 13:22:47
【问题描述】:
如何在运行同一应用的多个 JVM 的情况下实际管理 sagas
这个应用程序的每个 JVM 是否应该使用相同的数据库? 否则跟踪令牌不会在同一个应用程序之间“共享”?
如何在为 sagas 运行的同一应用程序之间拆分事件?一个 saga 类型或 saga 实例是否总是在同一个应用程序上处理(直到它被关闭以便另一个实例负责它)?
或者是每个 JVM 接收事件并且每个相同类型的 saga 都会运行? (并导致发送重复的命令和错误)
还有什么需要注意的吗?
场景示例: 3 个不同的 PC/VM 上的 3 个相同的应用程序。 名称为“SagaA”的 Saga,可以以 EventA 开头,以 EventB 结尾。 两个事件都有一个字段“id”,saga 有 2 个事件处理程序来处理 saga 中的事件。
将如何处理事件,例如 3 个事件 EventA 和 EventB,每个事件都有不同值的“id”
等等。 还有很多问题。
【问题讨论】:
标签: java kotlin domain-driven-design saga axon