什么是微服务
- 首先他是一种架构模式
- 相比较单体架构,微服务架构更独立,能够单独更新和发布
- 微服务里面的服务仅仅用于某一个特定的业务功能
DDD
领域驱动设计 (Domain Driven Degisn) 康威定律:组织架构对应微服务拆分
DDD作用
真正决定软件复杂性的是设计方法
- 有助于指导我们确定系统边界
- 能够聚焦在系统核心元素上
- 帮助我们拆分系统
DDD常用概念-领域
- 领域:领域是有范围界限的,也可以说是有边界的
- 核心域:核心域是业务系统的核心价值
- 通用子域:所有子域的消费者,提供着通用服务
- 支撑子域:专注于业务系统的某一重要的业务
电商领域 支撑 商品 订单 核心 销售 通用短信 邮件
DDD常用概念-界限上下文
- 理解:语文中的语境的意思
- 方式:领域+界限上下文
- 目的:不在于如何划分边界,而在于如何控制边界
DDD常用概念-领域模型
- 理解:领域模型是对我们软件系统中要解决问题的抽象表达。
- 领域:反应的是我们业务上需要解决的问题
微服务架构
微服务设计原则
- 要领域驱动设计,而不是数据驱动设计,也不是界面驱动设计
- 要边界清晰的微服务,而不是泥球小单体
- 要职能清晰的分层,而不是什么都放的大箩筐
- 要做自己能hold住的微服务,而不是过度拆分的微服务