我查看了许多事件采购教程,所有人都使用简单的演示来关注教程主题(事件采购)
这很好,直到你在实际的工作应用程序中找到这些教程之一未涵盖的内容:)
我打了这样的东西.我有两个数据库,一个事件存储和一个投影存储(读模型)所有聚合都有一个GUID ID,到目前为止100%罚款.
现在我创建了一个新的JobAggregate
和一个Job Projection.我公司要求拥有一个独特的增量int64作业ID.
现在我看起来很愚蠢:)另一个问题是每秒多次创建一个作业!这意味着,获得下一个号码的方法必须非常安全.
在过去(没有ES)我有一个表,将PK定义为自动增量int64,保存Job,DB完成工作以给我下一个数字,完成.
但是我如何在我的Aggregate或命令处理程序中执行此操作?通常,投影作业是由事件处理程序创建的,但这是在过程的后期,因为聚合应该已经有了int64.(用于在空DB上重放聚合并具有相同的聚合ID - >作业ID关系)
我该如何解决这个问题?
亲切的问候