求仁得仁
06
09
DDD-MVC与DDD四层架构 DDD-MVC与DDD四层架构
一个需求非常确定的项目,不管多复杂,都没有必要非转型成DDD,短平快的设计方式更为快捷。 如果项目中有很多不确定性,以往的设计模式会遇到非常多的变数,这时DDD就是一个很好的选项了。 DDD 重构 抽象数据持久层 - 建立仓库(让业务逻辑
2023-06-09
09
DDD-软件的核心复杂性 DDD-软件的核心复杂性
很多软件设计上的不足,表面上看,似乎是技术架构的问题。因为如果架构师经验足够丰富,就能提前考虑到这些问题。如果开发团队技术足够过硬,就可以最快速度解决这些问题。但是,如果你将视野放开,放到到整个项目团队。你就会发现,一味的要求技术人员能够未
2023-06-09
08
FFmpeg-使用示例 FFmpeg-使用示例
# 将三个视频完整的拼接成一个视频 ffmpeg -i input1.mp4 -i input2.mp4 -i input3.mp4 -filter_complex "[0:v] [0:a] [1:v] [1:a] [2:v] [2:a]
2023-06-08
07
07
07
04
架构-订单系统设计 架构-订单系统设计
幂等 一件事情做几次结果都一样(防止用户提交两次订单) 唯一性索引:生成订单ID的操作提前到核对订单页面并在页面携带此ID,提交订单时直接使用此ID ABA问题(使用版本号): 如用户修改订单详情,物品颜色(更新订单信息的ABA问题):
2023-06-04
04
03
SpringCloud-分布式唯一ID-Leaf SpringCloud-分布式唯一ID-Leaf
为什么需要分布式唯一ID而不是UUID:因为数据库存储采用B树(有序),无序数据导致B树不断旋转 所有业务都需要分布式唯一ID吗?订单主表:全局唯一;订单详情表:1. 不需要全局唯一;2. 一次性获取所有ID 方案(推荐 Leaf-Snow
2023-06-03
02
01
01
01
01
01
01
微服务-拆分 微服务-拆分
拆分时机 业务规模 团队规模 技术储备 人才储备 研发效率 拆分原则 闭包原则(CCP) 服务自治、接口隔离原则 持续演进原则 避免影响产品的日常功能迭代 服务接口的定义要具备可扩展性 避免环形依赖与双向依赖 阶段性合并 自动化驱动
2023-06-01
13 / 35