app开发者平台在数字化时代的重要性与发展趋势解析
943
2022-08-30
CQRS与事件溯源模式
CQRS : Command Query Responsibility Segregation 命令查询分离模式,指将对数据库的增删改操作和查询操作分离,后续可针对查询类业务和命令类业务分开处理分开优化
分离可以在上层进行,底层仍然共享表也是可以的。 另外也可以创建数据宽表来适应查询的业务。
分离后的数据可以存在不同的数据库中,查询的数据由命令模式同步过来。
对查询有性能要求的场景可以将数据存入缓存或是mongodb等nosql数据库。
在此基础上可以使用事件溯源模式对操作进行统一管理,有了溯源就可以对事件进行重放,出现异常的时候也能够更好的排查问题。
分离以后推荐使用mq对命令事件进行发布,并需要同时完成对失败和重复的消息进行处理,这样整个流程才算完整。
建议需要对读写分离时考虑使用CQRS,或是在团队进行拆分组成专门编写复杂业务写操作或高频查询时使用。
优点
使用此模式后可以将读写拆分开,这样在复杂查或者写的时候只需要关注尽可能少的内容。读写负载可以独立缩放可以针对读写操作分别进行优化更易确保仅对需要更新的实体进行写操作
留待后查,同时方便他人
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~