19得票3回答
事件溯源 - 如何在事件存储中删除数据?

如何解决在事件存储中删除数据的问题? 我需要永久且完全地删除某些数据以符合隐私法规。 我找到了以下这些替代方案: 加密需要删除的数据,并将其加密密钥存储在单独的表中。当需要删除数据时,只需删除加密密钥。 对于不需要删除的数据,使用事件溯源,同时参考一个用于存储需要删除的机密数据的CRU...

19得票2回答
事件溯源中的命令与事件

我了解命令和事件的区别,但在许多情况下,您最终会遇到冗余和两个基本相同的类之间的映射(ThingNameUpdateCommand,ThingNameUpdatedEvent)。 对于这些简单的情况,您是否可以/是否使用事件作为命令? 人们是否将所有命令和所有事件序列化到存储中? 对我来说似乎...

18得票3回答
在CQRS读取端处理乱序事件

我读了Jonathan Oliver关于处理乱序事件的好文章。 http://blog.jonathanoliver.com/cqrs-out-of-sequence-messages-and-read-models/ 我们使用的解决方案是将消息出队并将其放入“持有表”中,直到收到所...

18得票4回答
如何在CQRS中建模银行转账

我正在阅读《会计模式》,并对在CQRS中实现它感到非常好奇。 我认为AccountingTransaction是一个聚合根,因为它保护着不变量: 没有资金泄漏,应该从一个账户转移到另一个账户。public class AccountingTransaction { private ...

18得票2回答
如何在同时使用REST、CQRS和EventSourcing时支持REST命令?

考虑以下粗粒度的REST API,用于联系人资源POST /api/contacts GET /api/contacts GET ...

18得票2回答
使用事件源(EventSourcing)在多个偶尔连接的客户端之间同步数据(NodeJS,MongoDB,JSON)

我正在解决一个在服务器和多个客户端之间实现数据同步的问题。我了解到事件溯源(Event Sourcing)的概念,并希望使用它来完成同步部分。 我知道这不是一个技术问题,更多是一个概念性的问题。 我本来想将所有事件即时发送到服务器,但客户端被设计成有时离线使用。 这是基本概念: 服务器...

17得票2回答
事件溯源:回滚聚合状态的正确方式

我正在寻求与在CQRS/事件溯源应用程序中实现回滚功能的正确方式相关的建议。该应用程序允许一组编辑人员编辑和更新某些编辑内容,例如编辑新闻。我们已经实现了用户界面,使得每个字段都具有自动保存功能,现在我们希望为用户提供撤销操作的可能性,以便可以将编辑新闻回滚到先前已知的状态。基本上,我们希望实...

17得票4回答
事件溯源:处理事件模式更改

作为一个基于事件溯源架构的软件项目发展,事件模式(或事件类型)是最有可能随着时间改变的事物之一。 事件溯源架构提供的好处之一是它能够“回放所有事件”,并从旧事件中构建当前状态。 如果我需要更改事件模式(事件类型),通过添加或删除属性,或更改属性的语义,那该怎么办呢?当前服务实现将无法处理旧...

17得票3回答
CQRS 数据存储方法:NoSQL 或 SQL Server。

我正在进行一个新项目的研究阶段,目前正与一位同事就该项目的架构进行辩论。 我们已经达成共识,将使用CQRS和事件溯源在Azure上创建一个分布式消息传递系统。它将是一个SPA,前端使用Angular JS,后端将是Web API。 我们现在讨论数据库如何设置,这就是不同之处。 我们已经同...

17得票3回答
事件溯源应用中的用户认证

我正在研究使用DDD+CQRS+EventSourcing构建应用程序,并且我在思考如何进行用户认证方面遇到了一些问题。 由于用户对客户负有责任,因此他们本质上是我的领域的一部分。我使用ASP.NET MVC 4,并且打算只使用SimpleMembership。由于登录和授权用户是同步操作,...