代码之家  ›  专栏  ›  技术社区  ›  Andrew Bullock

CQRS中的验证和错误修复

  •  6
  • Andrew Bullock  · 技术社区  · 14 年前

    1. 验证

      当您需要对涉及从数据库中检查值的命令进行验证时,您会怎么做? 采取注册服务,我必须输入一个唯一的电子邮件地址。我听到的一个论点是,用户不太可能输入重复的电子邮件地址,所以在处理命令时处理它,并向他们发送一封电子邮件,说“对不起”,或者建议他们重新设置密码。因此,这个过程避免为了验证而使用readmodel。但是如何处理命令处理程序中的重复大小写呢?你怎么知道那是个复制品?检查readmodel?为了更好的可用性,您最好在第一时间使用它。

    2. 当您需要更改命令的工作方式或修复错误时会发生什么?在append-only哲学中,如何处理所有旧的命令和命令处理程序?我不能将它们重命名为\u legacy并将它们隐藏起来,否则我的事件反序列化将无法工作。有什么优雅的解决方案可以解决这个问题?

    1 回复  |  直到 4 年前
        1
  •  4
  •   Yves Reynhout    14 年前
    1. 看到了吗 http://codebetter.com/blogs/gregyoung/archive/2010/08/12/eventual-consistency-and-set-validation.aspx
    2. 一个警告 ! 不要太轻视事件来源。你只需要CQRS就可以过得去。我看到人们在大多数时候都会转向CQRS+ES。

    所以过来吧groups.google.com/group/dddcqrs寻求帮助。另一个有用的资源是cqrsinfo.com网站