当你拿到一个项目需求的时候,根据以往的架构设计,很多人就会想到:怎么搭建项目框架,采用什么样的技术来实现什么样的功能啊之类的,其实当一个真正的架构师的话远远不止于此,我们需要:
业务架构
业务架构设计主要做两件事情:
1、谁来使用这个软件,即软件服务面向的用户群体是什么人
2、我能为用户提供什么样的服务(拆分模块),具体分析业务
为什么要捋业务架构呢?捋业务架构为的就是能使我们更清晰的设计应用架构
应用架构
什么是应用架构呢?应用架构就是用来描述我的系统当中到底有多少个应用,每个应用的作用到底是什么。
它与业务架构是密不可分的,我们需要根据具体的业务来进行相应的应用设计
类型有:
· 前端:负责数据展示
· 网关:(Zuul)协调前端应用与后端应用
· 环境:redis、mysql、ES、ELK等
· 消费:消费者
· 基础:基础应用(SpringCloud的相关组件Eureka注册中心、Sleuth监控中心、Hystrix容错应用、Config统一配置)
· 服务:提供者
技术架构
这一阶段主要是对应用架构进行具体的技术选型,对比同种类型的技术选出最优方案(最适合系统的)
数据库架构
对于数据量的多少适当的进行分库分表