微服务设计文档-概要设计
一、总体架构设计
1.1总体架构
- 服务中心的总体架构图
- 简单描述改服务中心功能、依赖、逻辑和技术
二、技术架构设计
2.1业务架构
业务服务中心的业务架构图,主要描述该业务服务中心有什么
包括业务规划、业务模块、业务流程,对整个服务中心的业务进行拆分,对领域模型进行设计,把现实的业务转化成抽象对象。
要能够提前预见业务发展1~2年为宜,这样可以付出较为合理的代价换来真正达到技术引领业务成长的效果。
要求描述:
- 服务中心、微服务、模块命名准确,命名和使用禁止出现二义性
- 该服务中心跟其他服务的依赖和调用关系,采用上下左右原则
- 该服务中心包含的微服务,微服务内具体的业务模块;并标记已经实现、本期实现、下期实现(灰色)
2.2应用架构(逻辑架构)
业务服务中心应用架构图,主要描述该业务服务中心能干什么,能提供什么
系统采用什么样的应用架构,受业务复杂性影响,包括企业发展阶段和业务特点;同时受技术复杂性影响,包括IT技术发展阶段和内部技术人员水平,业务复杂性必然带来技术复杂性,应用架构的目标解决业务复杂性的同时,避免技术太复杂,确保业务架构能够落地。
以一个微服务为一个基本单位要求具备如下内容:
(1)职责划分:明确应用边界
- 逻辑分层
- 子系统、模块定义
- 关键类
(2)职责之间的协作
- 接口协议:应用对外输出的接口
- 协作关系:应用之间的调用关系
2.3技术架构
- 技术架构:确定组成应用系统得实际运行组件(Nginx、Tomcat等),这些运行组件之间的关系,以及部署到硬件的策略
- 技术架构主要考虑非功能特性,对系统的高可用、高性能,拓展,安全、伸缩性、简洁等做系统级的把握
2.4部署架构
2.5服务间依赖关系图
三、业务设计
3.1业务流程-有产品设计时写
3.1.1业务流程图
3.1.2业务流程图说明
3.2结构化分析-无产品设计时写
3.2.1XXX业务分析
- 数据流图
- 数据流图说明
3.3结构化设计
- XXX业务设计
- 模块设计图
- 模块设计说明
四、数据结构
4.1数据设计规则
4.2逻辑设计
4.3物理设计