CQRS架构简介
https://www.cnblogs.com/shijingxiang/articles/5465495.html
https://blog.csdn.net/rocketluoqq/article/details/81434871
https://www.jdon.com/52278
我的简单的理解就是读写分离。。一个是查询(读),一个是命令(写)。
Event Sourcing vs Command Sourcing
command是让系统做事情的;
event是系统发生的变化;
redo/AOF/WAL日志是Command Sourcing,而我们这里说的是Event Sourcing
世界上最流行的事件溯源应用是Git
Git是完全同步的,并且具有作为事件溯源的所有优点,例如在时间上进行时间查询或及时来回地在不同的时间点中挑选代码以及其他用例。
使用Kafka实现事件溯源,也就是Event Sourcing
ENode
a framework aims to help us developing ddd, cqrs, eda, and event sourcing style applications.
如何解决多线程并发写的时候的CPU占用高的问题?
可以使用双缓冲队列的技术,比如多个线程写,用锁可能效率不好,准备两个队列,一个只用来接收,另一个串行执行。
这两个队列如何交换数据? 交换两个队列的引用
什么场景下能用双缓冲?只要是多个消息生产者并发产生消息,然后单个消费者单线程消费消息的场景,都可以使用
DDD/CQRS(一位大牛的博客)
https://www.cnblogs.com/netfocus/category/496012.html
领域驱动设计在互联网业务开发中的实践
其实,我们一直在使用领域驱动设计,只是没领悟到而已。
DDD建模,UML设计与MDA模型驱动,Spring Boot实现每个聚合上下文,Spring-Data-JDBC实现聚合持久化,Spring Cloud组成分布式微服务环境,Spring JPA实现实体,Lombok实现值对象,Kafka实现聚合之间的领域事件通讯,通过EventSourcing实现分布式微服务事务,引入BPMN实现长时间流程事务。
https://tech.meituan.com/2017/12/22/ddd-in-practice.html
https://zhuanlan.zhihu.com/p/42565478
http://ddd-china.com/look-back-2017.html DDD中国
https://sunnycoding.cn/ 博客
https://www.jdon.com/ddd.html
https://www.jdon.com/51997
https://gitee.com/cheetahing2017/ccshis 智选云
https://insights.thoughtworks.cn/backend-development-ddd/ 后端开发实践系列——领域驱动设计(DDD)编码实践
一个基于DDD的library系统
https://github.com/ddd-by-examples/library
参考
https://thinkbeforecoding.com/post/2013/07/28/Event-Sourcing-vs-Command-Sourcing
感觉这篇文章的思想和Kafka的思想好像啊
https://www.cnblogs.com/netfocus/p/5656243.html