Event Sourcing And CQRS
Event Sourcing 、CQRS 简述
Event Sourcing 简单来说就是记录对象的每个事件而不是记录对象的最新状态,比如新建、修改等,只记录事件内容,当需要最新的状态的时,通过堆叠事件将最新的状态计算出来。那么这种模式查询的时候性能会变的非常差,这个时候就涉及到了 CQRS ,简单的理解就是读写分离,通过事件触发,将最新状态保存到读库,查询全都走读库,理论上代码层,数据库层,都可以做到分离,当然也可以不分离,一般来说为了保证数据库性能,这里起码会将数据库分离。
为什么要使用
了解了 Event Sourcing 的基本内容之后,我们可以发现这个模式有很多的好处:
记录了对象的事件,相当于记录了整个历史,可以查看到任意一个时间点的对象状态;
都是以事件形式进行写入操作,理论上在高并发的情况下,没有死锁,性能会快很多;
可以基于
1