记一次简单的微服务项目拆分
领域驱动模型
领域驱动DDD 告诉了我们最开始要把分层搭建好,然后专注于自身领域中。根据划定不同的领域来构建不通的限界上下文来指定领域边界。
理论上我们都知道或者了解了,但是如何将理论贴近于实际呢?
可以结合 金字塔原理
- 根据已有条件(业务范围、业务关联性、是否已有类似业务等)来定位自己将要做的业务领域
- 是否已经在存在该领域了。
- 存在就靠拢。
- 不存在就构建自己的领域边界。
- 是否已经在存在该领域了。
- 梳理该领域范围内功能
- 构建功能级别
- 区分哪些是辅助类型
- 区分哪些是核心类型
- 哪些是对外提供
- 哪些是对内提供
- 构建基础思维导图
- 列出已有或需要的服务
- 力度应该在最底层或基本元素
- 列出已有或需要的服务
- 分类聚集(归类)
- 具备相关或相同特性的模块进行归类划分为一个更上层的抽象。
- 逐层归类,最终到定义的领域范围最高层。
大概示例图
- 按照实际情况来规划微服务拆分的颗粒度
大概示例图
- 特别注意
- 需要清楚的认定,没有一步就到位的 系统or架构,系统or框架只会不断演化。
- 只有最符合公司当前业务与技术情况的。也就是成本最低的。
- 并不是颗粒度越少越好!
.... 有其他事情打断,看情况在补充吧。