# 第03节:系统架构设计

作者:小傅哥
博客:https://bugstack.cn (opens new window)

沉淀、分享、成长,让自己和他人都能有所收获!

当产品的PRD评审完成后,就能立刻进入编码了吗?

绝对不可能!当你拿到需求以后需要做的不是立刻进入编码,而是要视需求大小进行不同层级的系统设计,这个过程包括:要拆解出属于此项目的各项人员职责、决定采用一个什么的架构来承接、各个功能模块如何细化设计、涉及到的库表要如何设计、分支计划是什么样、列出工程导图,最后要准备一个执行进度的汇总表分别统计开发到上线阶段的各项进度把控风险,直至项目开发完成发出上线报告推进项目上线交付,至此才算是一趟完整的旅程。

# 职责总表

一般使用专门的系统或者一个excel表,记录前端、后端、UI、需要配合的外部、运维和测试,这些人员的在此项目的工作职责、预估工期、启动时间和预计完成时间。方便在项目开发阶段可以明确的找到各个模块对应的负责人员,减少一定的沟通成本。

# 系统架构

负载(LVS、F5、Nginx)、网关(Zuul、Gateway、自研)、结构(DDD、MVC、SOA)、治理(RateLimiter、HyStrix、netflix)、框架(Spring、SpringBoot、MyBatis)、服务(RPC、MQ、分布式任务、配置中心)、数据(ES、HBase、Mysql&分库分表),起个模块是整个搭建系统架构过程中必须考虑到的点。一般在公司内部这些基本是固定成型的,除非是系统有升级或者之前没到的新技术才会重新设计架构。