求仁得仁
DDD-MVC与DDD四层架构 DDD-MVC与DDD四层架构
一个需求非常确定的项目,不管多复杂,都没有必要非转型成DDD,短平快的设计方式更为快捷。 如果项目中有很多不确定性,以往的设计模式会遇到非常多的变数,这时DDD就是一个很好的选项了。 DDD 重构 抽象数据持久层 - 建立仓库(让业务逻辑
2023-06-09
DDD-软件的核心复杂性 DDD-软件的核心复杂性
很多软件设计上的不足,表面上看,似乎是技术架构的问题。因为如果架构师经验足够丰富,就能提前考虑到这些问题。如果开发团队技术足够过硬,就可以最快速度解决这些问题。但是,如果你将视野放开,放到到整个项目团队。你就会发现,一味的要求技术人员能够未
2023-06-09
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
SpringBoot-集成Leaf-Snowflake模式 SpringBoot-集成Leaf-Snowflake模式
集成 依赖 leaf-boot-starter 设置 zookeeper 地址 开启 @EnableLeafServer 使用 SnowflakeService 获取分布式唯一ID leaf: snowflake: enab
2023-06-07
SpringBoot-集成MongoDB SpringBoot-集成MongoDB
集成 依赖 spring-boot-starter-data-mongodb 设置 uri 创建 @Document(collection = "table") 创建 MongoRepository spring: data:
2023-06-07
SpringBoot-集成RocksDB SpringBoot-集成RocksDB
集成 依赖 rocksdbjni 设置数据库的本地存储路径 配置 RocksDB 的 Bean rocksdb: path: E:\work\jxch-study\study-springcloud\study-springclou
2023-06-07
架构-订单系统设计 架构-订单系统设计
幂等 一件事情做几次结果都一样(防止用户提交两次订单) 唯一性索引:生成订单ID的操作提前到核对订单页面并在页面携带此ID,提交订单时直接使用此ID ABA问题(使用版本号): 如用户修改订单详情,物品颜色(更新订单信息的ABA问题):
2023-06-04
PI-树莓派安装Kubernetes PI-树莓派安装Kubernetes
curl -sSL https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add - echo "deb https://mirrors.aliyu
2023-06-04
SpringCloud-分布式唯一ID-Leaf SpringCloud-分布式唯一ID-Leaf
为什么需要分布式唯一ID而不是UUID:因为数据库存储采用B树(有序),无序数据导致B树不断旋转 所有业务都需要分布式唯一ID吗?订单主表:全局唯一;订单详情表:1. 不需要全局唯一;2. 一次性获取所有ID 方案(推荐 Leaf-Snow
2023-06-03
Docker-WIN下DockerDesktop无法开启Kubernetes Docker-WIN下DockerDesktop无法开启Kubernetes
开启代理等方式都无效,只能换源: "registry-mirrors": [ "https://docker.mirrors.ustc.edu.cn", "https://cr.console.aliyun.com/" ]
2023-06-02
SpringCloud-gateway网关配置 SpringCloud-gateway网关配置
配置文件 bootstrap.yml spring: application: name: cloud-gateway # 微服务的名称 profiles: active: dev bootstrap-dev.yml
2023-06-01
SpringCloud-gateway报错:type=Service Unavailable, status=503 SpringCloud-gateway报错:type=Service Unavailable, status=503
后端没有报错,前端返回503,如果配置文件确定没有问题的话,应该是缺依赖的问题: <dependency> <groupId>org.springframework.cloud</groupId>
2023-06-01
Docker-Win下报错: bind: An attempt was made to access a socket in a way forbidden by its access permissions. Docker-Win下报错: bind: An attempt was made to access a socket in a way forbidden by its access permissions.
如果没有端口占用:Restart-Service -Name winnat, 然后重试 如果是端口占用了,则更换端口或杀死端口占用的进程: # 查找端口占用的PID netstat -ano | findstr $port # 查看PI
2023-06-01
SpringCloud-Nacos配置中心 SpringCloud-Nacos配置中心
bootstrap.yml spring: application: name: cloud-order # 微服务的名称 profiles: active: dev bootstrap-dev.yml spring
2023-06-01
SpringCloud-Nacos注册中心 SpringCloud-Nacos注册中心
application.yml spring: application: name: cloud-order cloud: nacos: discovery: server-addr: l
2023-06-01
微服务-拆分 微服务-拆分
拆分时机 业务规模 团队规模 技术储备 人才储备 研发效率 拆分原则 闭包原则(CCP) 服务自治、接口隔离原则 持续演进原则 避免影响产品的日常功能迭代 服务接口的定义要具备可扩展性 避免环形依赖与双向依赖 阶段性合并 自动化驱动
2023-06-01
13 / 35