Command and Query Responsibility Segregation with Event Sourcing (CQRS+ES) 是一种架构模式,通过使用 Event Sourcing 将处理命令(写入操作)的责任与处理查询(读取操作)的责任分开。
在 CQRS+ES 中,写入操作由 Command 模型处理,该模型接收来自客户端的命令并将其转换为事件。然后将事件存储在称为事件存储的仅附加存储中。事件存储是记录系统,这意味着对系统状态的所有更改都记录为一系列事件。
另一方面,读取操作由查询模型处理,它从事件存储中读取数据并生成读取模型。这些读取模型针对特定查询进行了优化,并且可以缓存以加快读取速度。
命令和查询职责的分离允许可扩展性和性能优化。Command 模型可以针对写入密集型操作进行优化,而 Query 模型可以针对读取密集型操作进行优化。
总的来说,CQRS+ES 提供了一种实现高度可扩展、容错和事件驱动的系统的方法,该系统可以随时间轻松发展。
Publication date: