美文网首页
cqrs 和 event sourcing 简介

cqrs 和 event sourcing 简介

作者: wwq2020 | 来源:发表于2020-07-10 15:24 被阅读0次

    什么是 cqrs

    Command Query Responsibility Segregation,就是把 command 和 query 分离的一种模式.
    command 是会引起副作用的操作(新增,更新,删除这类),query 是查询操作.

    优点

    这样把读写进行了分离,可以进行针对性的选择.

    缺点

    这样的系统必然只能是最终一致性的,如果系统要求实时性很高,那是不适合的

    什么是 event sourcing

    event sourcing 就是把所有操作记录相应的事件(类似于数据库的 wal),如果要读取相应的数据,那么就对这些操作记录进行重放

    针对读取性能较差的问题,也是跟数据库的处理方式类似,添加 checkpoint

    优点

    可以很直观的看到数据的变更历史

    缺点

    读取性能较差

    总结

    一种实现方式就是 mysql+kafka+es
    mysql 记录 command 记录,通过 kafka 同步相应的操作(新增,更新,删除这类)事件,然后 es 提供 query

    相关文章

      网友评论

          本文标题:cqrs 和 event sourcing 简介

          本文链接:https://www.haomeiwen.com/subject/lodmcktx.html