定义应用程序的架构三步:
1、定义系统操作
2、定义服务
3、定义服务API和协作方式
一、识别系统操作
起点:需求(包括用户故事及其相关的用户场景)
步骤:
1、创建由关键类组成的抽象领域模型(关键类提供用于描述系统操作的词汇表)
2、确定系统操作,并根据领域模型描述每个系统操作的行为。
领域模型主要源自:用户故事中提到的名词。
系统操作主要来自:用户故事中提到的动词。
系统操作类型:
1、命令型:创建、更新、删除数据
2、查询型:查询和读取数据
二、定义微服务架构
2.1 服务拆分
策略一:根据业务能力进行服务拆分(前提:业务稳定)
策略二:根据子域进行服务拆分
DDD:领域驱动设计;其特别重要的两个概念:子域和限界上下文。
领域为每个子域定义单独的领域模型。子域是领域的一部分,领域是DDD中用来描述应用程序问题域的一个术语。
识别子域的方法:分析业务并识别业务的不同专业领域【和识别业务能力方式一样,结果也接近】
限界上下文:领域模型的边界。它包括:实现模型的代码集合。
当使用微服务架构时,每个限界上下文对应一个或一组服务。
总结:微服务架构设计工作--通过DDD方式定义子域,把子域对应为每个服务。