小编Syl*_*ain的帖子

在处理与Axon 4的外部合作伙伴时设计命令和事件

这是与使用Axon 4设计命令处理有关的问题。

假设我有一个模型可以模拟的概念Payment

实际付款将由外部合作伙伴完成。我想通过以下事件在我的系统中进行跟踪:发出付款请求,然后由 合作伙伴同意付款合作伙伴拒绝付款

该命令发出的每个事件都应注册在同一数据库事务中。

在Axon 4中实际给我的伴侣打电话的最佳做法是什么?


到目前为止,这是我所做的:

  • 一个名为RequestPaymentCommand
  • 此命令将由Payment像这样的聚合来处理:
    • 做一些检查
    • 申请活动 PaymentRequestWasIssued
    • 然后,调用外部的合作伙伴,给它适用无论是结果PaymentAccepted还是PaymentRefused

在这个stackoverflow的答案中,据说

通常,在命令中应该可以应用事件所需的所有数据。

考虑到这一点,我知道我应该创建与事件一样多的命令?但是在这种情况下,所有这些命令的意义是什么?我是否应该得到类似以下的结果:

  • 我的命令RequestPaymentCommand将生成PaymentRequestWasIssued事件。
  • 然后从某个地方打电话给我的伙伴,然后发送另一个命令(如何命名?),该命令将根据伙伴的结果生成事件?

cqrs event-sourcing axon

4
推荐指数
1
解决办法
209
查看次数

标签 统计

axon ×1

cqrs ×1

event-sourcing ×1