谢了。
我个人的意见是选择2(从你提到的文章中)是最务实的。我不同意在命令端为DB提到的缺点
。
为了检查唯一性,我将使用一个小的命令侧投影(在命令组件/包内)。在Axon中,这将是一个常规的事件处理程序,它将处理事件并以非正规化的方式填充一个小表,因此您可以在后面的命令处理程序中使用它进行唯一性检查。此事件处理程序/处理器应为订阅类型(https://docs.axoniq.io/reference-guide/configuring-infrastructure-components/event-processings/event-processors#event-processors)
>
订阅事件处理器将使用相同的事务来存储事件和投影。这就是为什么在这里使用这种特殊类型的事件处理器很重要。它是立即一致的。
提前致谢
我不知道如何恰当地问这个问题,但它是这样的: 我在特定事件上开始了传奇,然后我调度命令,该命令应该创建一些聚合,然后发送另一个事件,该事件将由传奇处理,以继续逻辑。 但是,每次我重新启动应用程序时,我都会得到一个错误,说序列x处的聚合事件已经插入,我想这是因为这个传奇还没有完成,当我重新启动它时,它会通过尝试创建新的聚合来再次启动它。 谢谢
本文向大家介绍yii2 从数据库验证唯一值:唯一验证,包括了yii2 从数据库验证唯一值:唯一验证的使用技巧和注意事项,需要的朋友参考一下 示例 如果输入现有值,某些人会遇到有关无法显示错误消息的问题。例如,我不允许用户使用现有电子邮件进行注册。 视图 控制者 模型
null 我们尝试了几件事: > 发出命令: 激发命令 同步处理此命令,如果命令无效或引发事件,则返回错误。 null 缺点:-据我所知,应该用佐贺来编排流程。这里我们介绍“验证”的概念。我不确定这是不是推荐的方法。 验证是一个非常常见的概念。在分布式完全异步系统中如何处理它?
null