微服务与DDD简单介绍

首先微服务是一种架构模式,相比较单体架构,微服务架构更独立,能够单独更新和发布。微服务里面的服务仅仅用于某一个特定的业务功能。举个例子,单体架构就想一碗面条,所有模块都在一起,而微服务相当于甜甜圈,模块清楚,可以单独发布,想更新哪个就更新哪个。

DDD(Domain Driven Design),简称DDD,领域驱动设计

康威定律(Conway's Law) 组织----对应------微服务拆分

DDD作用 --------真正决定软件复杂性的是设计方法

1. 有助于指导我们确定系统边界

2. 能够聚焦在系统核心元素上

3.帮助我们拆分系统

DDD常用概念-领域

1、领域:领域是有范围界限的,也可以说是有边界的。

2、核心域:核心域是业务系统的核心价值。

3、通用子域:所有子域的消费者,提供着通用服务。

4、支撑子域:专注于业务系统的某一重要的业务。

DDD常用概念-界限上下文

理解:相当于语文中语境的意思

使用方式:领域+界限上下文

目的:不在于如何划分边界,而在于如何控制边界

DDD常用概念-领域模型

理解:领域模型是对我们软件系统中要解决问题的抽象表达

领域:反映的是我们业务上需要解决的问题

模型:我们针对该问题提出的解决方案

DDD域微服务四层架构

接口(interface):通常是我们用户的界面展示

应用层(Application):协调工作,接受数据等。

领域层(Domain):实现业务规则

基础设施层(Infrastructure):中间件、云设施、Mysql等

微服务与DDD简单介绍_第1张图片

微服务设计原则

  1. 要领域驱动设计,而不是数据驱动设计(先建数据库),也不是界面驱动设计
  2. 要边界清晰的微服务,而不是泥球小单体
  3. 要职能清晰的分层,而不是什么都放的大箩筐
  4. 要做自己能hold住的微服务,而不是过度拆分的微服务

        

 

目录

DDD(Domain Driven Design),简称DDD,领域驱动设计

你可能感兴趣的:(微服务)