![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DDD架构
文章平均质量分 67
学些DDD方法论的一些自己学习笔记
Tellme3
任务艰巨在于漫长。
展开
-
架构之冷热数据分离
如何实践区分冷热数据业务代码修改(对代码侵入较高,无法按照时间区分)监听数据库日志(对代码无侵入,但无法按照时间区分)定时任务扫描(可以按照时间区分)热数据:被频繁更新的,还会有所变化的数据,响应时间有要求冷数据: 不允许进行更新的数据(当然具体业务具体分析了),偶尔被查询;响应时间没有要求。原创 2024-05-14 00:42:40 · 490 阅读 · 0 评论 -
QPS、TPS、RT、并发数
QPS(Queries Per Second):每秒查询数,指的是系统在单位时间内处理的请求数量。QPS通常用于衡量系统的处理能力,特别是在高并发情况下,能够反映系统的性能水平。在网络领域,QPS常用于评估服务器的负载能力,对于网站、API等服务来说,QPS越高,系统的吞吐量就越大,性能就越好。TPS(Transactions Per Second):每秒事务数,指的是系统在单位时间内完成的事务数量。事务可以是数据库的一次读写操作、网络请求的一次处理等。原创 2024-03-24 22:45:57 · 1219 阅读 · 0 评论 -
4、DDD架构建模(实现面向对象模型(停车场案例))
根据我们的需求输入我们面向对象领域模型uml,(是没有发生系统改变,但是我们若是放置到查询模块就把逻辑泄漏出去了,而且此并不是一个复杂查询所以此处放置到命令模块)进场,出场,付费事件可以得出。由进场出场事件可以得出。进场出场失败事件得出。原创 2024-03-10 14:29:22 · 335 阅读 · 0 评论 -
3、DDD与CQRS(命令与查询分开)
CQRS(命令和查询职责分离)职责分离(架构上做分解,也就是一个查询模块,一个命令模块(查询模块依赖命令模块))1、查询模块依赖命令模块我们一般都是稳定的去依赖不稳定的了,查询模块是稳定的,命令模块是不稳定的了2、查询和命令模块,不是简单的读写分离,用来构造一些什么需要读取数据结构的也是属于查询模块的(也就是组装也是在查询模块来做的)3、查询模块和命令模块使用的数据库或者表可以相同也可以不相同,甚至与可以是不同的类型数据库原创 2024-03-09 17:39:11 · 516 阅读 · 0 评论 -
2、DDD六边形架构
代码名称清晰,代码参数清晰我们不能根据参数是如何组装数据的debug才知道这个代码是干什么的,例如代客下单,那么我们需要命名为createOrderForCustomerBySystem(CustomerID),而不能是createOrder(id)这样(RPC调用)就会很不清晰。我们得debug才知道情况原创 2024-03-09 17:38:00 · 245 阅读 · 0 评论 -
1、DDD架构核心方法论
软件设计应该被领域来驱动(也就是领域驱动模型,模型驱动软件设计)领域: 产品需求的问题域模型:是具体写代码设实体类前的挖掘需求和如何设计的考量思考,其中的产出可能就是我们的uml图,或者就在我们脑海中没有具体的uml产出。软件设计: 具体的写实体类了,写对应方法了如何来解释上面的这句话,软件设计就是我们要写的代码,模型就是我们再写代码前的思考架构建立的模型。例如,我们的整体产品是创建一台全知全能的机器人,其中这个机器的一个领域就是说话,那么我们就对说话这个功能进行建模,其中需要机器人id来定位机器人原创 2024-03-09 15:04:24 · 393 阅读 · 0 评论