突然想到一个问题:有关 cqrs 分离

大部分的系统,都是查询多,c少,那为什么我们不把q放在内存里面,而c直接操作数据库呢?

就如enode,c在内存,而q在数据库,当然q也很容易扩展到内存缓存上。
二个enode案例demo,都可以让c的性能提升了,而让q的性能下降了(总是读库,都没有用到缓存)。

我觉得enode因该默认配备一种内存数据库,Denormalizer直接更新到内存里去,然后直接在那个内存数据库上面查询。
这个内存数据库要能建索引,若能分词,如solr一样,那就更棒了。

时间: 2024-10-06 09:57:41

突然想到一个问题:有关 cqrs 分离的相关文章

一个优秀的CQRS框架Reveno

一个优秀的CQRS框架Reveno 作者:chszs,未经博主允许不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs 一.Reveno介绍 CQRS表示Command Query Responsibility Segregation,即命令和查询责任分离,是由Greg Young提出的一种将系统的读(查询).写(命令)操作分离为两种独立子系统的架构模式.在一些应用场景下,这种分离是很有价值的,但要注意,CQRS对大多数系统而言,让系统变得更加复杂.

js页码生成库,一个适合前后端分离的页码生成器

原文:js页码生成库,一个适合前后端分离的页码生成器 前言 上星期写的任务里面有需要进行分页的处理,git搜索了一番,没有觉得合适的,于是自己临时写了个分页的算法. 然后等闲下来的时候,决定把分页进行优化并推广.于是乎,一个适合前后端分离的页码生成器就这样出来了. 先别废话了,直接上 git 地址 和 demo 地址.看官果断点击进去瞧瞧看.项目主页的 readme 文档的自动排版将更好. 先讲讲设计思想 整个开发流程围绕事件绑定进行开发. 脱离 callback 回调这种回调方法,直接使用 事

IDDD 实现领域驱动设计-一个简单的 CQRS 示例

上一篇:<IDDD 实现领域驱动设计-CQRS(命令查询职责分离)和 EDA(事件驱动架构)> 学习架构知识,需要有一些功底和经验,要不然你会和我一样吃力,CQRS.EDA.ES.Saga 等等,这些是实践 DDD 所必不可少的架构,所以,如果你不懂这些,是很难看懂上篇所提到的 CQRS Journey 和 ENode 项目,那怎么办呢?我们可以从简单的 Demo 一点一滴开始. 代码地址:https://github.com/yuezhongxin/CQRS.Sample 说明:一张很丑陋的

【小项目 日程表程序】最近frank我想到一个好项目(好吧,我同意不是我想的)

项目策划案:(不是我写的,是我的一个号搭档写的 @小方 ) 日程表 |状态{ 工作状态 游戏状态 健康状态 离开状态 勿扰状态 -----.. } 不同状态,执行不同的日程表其判断标准也不一样! |日程表{ 自定义添加执行任务时间 ------就是说,在24小时内,可以自定义设置时间,并在这个时间内执行某些任务 例: 14:35->>通知"你和你的小伙伴约好的游戏时间". 16:40->>CMD执行 "shutdown –s –t 3600"

[睡前灵感and发散思维]由一个简单的数组比较问题而想到的

前言 据说,一只优秀的程序猿往往会有这样的经历,白天遇到一个绞尽脑汁也无法解决的问题,晚上睡了后,半夜在梦中会灵感涌现,立马起床,打开电脑,一气呵成.第二天如果不看注释,完全不知道自己找到了如此巧妙地解决方案. 昨晚躺床上,无意中想到一个问题,突然灵感爆发,想到巧妙解决方法,差点想起床写下来,只是寝室已断电,不了了之.早上爬起来,脸都没洗,先把文章敲了. 问题 非常简单的一个问题,长度为100和101的AB两个数组,数值范围为0-99,含重复,找出来多出来的一个数. 思路 一开始想到的是先排序,

CQRS架构设计及其实现

CQRS架构设计及其实现 一.为什么要实践领域驱动? 近一年时间我一直在思考一个问题:“如何设计一个松耦合.高伸缩性.易于维护的架构?”.之所以有这样的想法是因为我接触的不少项目都是以数据库脚本来实现业务逻辑.在项目初期使用这样的方式野蛮开发似乎显得很高效,但是大家其实都清楚,正是这样的项目让大家拖入了加班的深渊.这种系统维护性差,无法扩展,无法编写有效的单元测试,质量基本没有保证. 一个符合我心理预期的架构,一定不是靠使用某个代码生成工具来完成的,这样的项目把码农培养成了彻头彻尾没有思想的个体

一种简单的CQRS架构设计及其实现

一.为什么要实践领域驱动? 近一年时间我一直在思考一个问题:"如何设计一个松耦合.高伸缩性.易于维护的架构?".之所以有这样的想法是因为我接触的不少项目都是以数据库脚本来实现业务逻辑.在项目初期使用这样的方式野蛮开发似乎显得很高效,但是大家其实都清楚,正是这样的项目让大家拖入了加班的深渊.这种系统维护性差,无法扩展,无法编写有效的单元测试,质量基本没有保证. 一个符合我心理预期的架构,一定不是靠使用某个代码生成工具来完成的,这样的项目把码农培养成了彻头彻尾没有思想的个体.一个有追求的码

ENode 2.0 第一个真实案例剖析-一个简易论坛(Forum)

前言 经过不断的坚持和努力,ENode 2.0的第一个真实案例终于出来了.这个案例是一个简易的论坛,开发这个论坛的初衷是为了验证用ENode框架来开发一个真实项目的可行性.关于ENode是什么,本文就不多介绍了,可以参考这篇文章的介绍.本文重点介绍一下ENode是如何帮助我们开发一个基于DDD+CQRS+Event Sourcing架构的应用程序的.这个论坛使用到了ENode, EQueue两个框架,EQueue是一个分布式的消息队列组件,该组件的主体思想是参考阿里的RocketMQ.当我们使用

DDD CQRS架构和传统架构的优缺点比较

明天就是大年三十了,今天在家有空,想集中整理一下CQRS架构的特点以及相比传统架构的优缺点分析.先提前祝大家猴年新春快乐.万事如意.身体健康! 最近几年,在DDD的领域,我们经常会看到CQRS架构的概念.我个人也写了一个ENode框架,专门用来实现这个架构.CQRS架构本身的思想其实非常简单,就是读写分离.是一个很好理解的思想.就像我们用MySQL数据库的主备,数据写到主,然后查询从备来查,主备数据的同步由MySQL数据库自己负责,这是一种数据库层面的读写分离.关于CQRS架构的介绍其实已经非常