如何解决在事件存储中删除数据的问题? 我需要永久且完全地删除某些数据以符合隐私法规。 我找到了以下这些替代方案: 加密需要删除的数据,并将其加密密钥存储在单独的表中。当需要删除数据时,只需删除加密密钥。 对于不需要删除的数据,使用事件溯源,同时参考一个用于存储需要删除的机密数据的CRU...
我了解命令和事件的区别,但在许多情况下,您最终会遇到冗余和两个基本相同的类之间的映射(ThingNameUpdateCommand,ThingNameUpdatedEvent)。 对于这些简单的情况,您是否可以/是否使用事件作为命令? 人们是否将所有命令和所有事件序列化到存储中? 对我来说似乎...
我读了Jonathan Oliver关于处理乱序事件的好文章。 http://blog.jonathanoliver.com/cqrs-out-of-sequence-messages-and-read-models/ 我们使用的解决方案是将消息出队并将其放入“持有表”中,直到收到所...
我正在阅读《会计模式》,并对在CQRS中实现它感到非常好奇。 我认为AccountingTransaction是一个聚合根,因为它保护着不变量: 没有资金泄漏,应该从一个账户转移到另一个账户。public class AccountingTransaction { private ...
考虑以下粗粒度的REST API,用于联系人资源POST /api/contacts GET /api/contacts GET ...
我正在解决一个在服务器和多个客户端之间实现数据同步的问题。我了解到事件溯源(Event Sourcing)的概念,并希望使用它来完成同步部分。 我知道这不是一个技术问题,更多是一个概念性的问题。 我本来想将所有事件即时发送到服务器,但客户端被设计成有时离线使用。 这是基本概念: 服务器...
我正在寻求与在CQRS/事件溯源应用程序中实现回滚功能的正确方式相关的建议。该应用程序允许一组编辑人员编辑和更新某些编辑内容,例如编辑新闻。我们已经实现了用户界面,使得每个字段都具有自动保存功能,现在我们希望为用户提供撤销操作的可能性,以便可以将编辑新闻回滚到先前已知的状态。基本上,我们希望实...
作为一个基于事件溯源架构的软件项目发展,事件模式(或事件类型)是最有可能随着时间改变的事物之一。 事件溯源架构提供的好处之一是它能够“回放所有事件”,并从旧事件中构建当前状态。 如果我需要更改事件模式(事件类型),通过添加或删除属性,或更改属性的语义,那该怎么办呢?当前服务实现将无法处理旧...
我正在进行一个新项目的研究阶段,目前正与一位同事就该项目的架构进行辩论。 我们已经达成共识,将使用CQRS和事件溯源在Azure上创建一个分布式消息传递系统。它将是一个SPA,前端使用Angular JS,后端将是Web API。 我们现在讨论数据库如何设置,这就是不同之处。 我们已经同...
我正在研究使用DDD+CQRS+EventSourcing构建应用程序,并且我在思考如何进行用户认证方面遇到了一些问题。 由于用户对客户负有责任,因此他们本质上是我的领域的一部分。我使用ASP.NET MVC 4,并且打算只使用SimpleMembership。由于登录和授权用户是同步操作,...