架构实战营 模块一作业
一、画出微信的业务架构图

二、“学生管理系统”毕设架构设计
一、架构方案一

该方案分俩个子系统, 将较为复杂的学生管理以及课程管理交给 PHP 的学生做,将权限管理和考试管理分给剩下的俩位学生
该方案考虑到 合适原则和简单原则, 因为团队中有 php 高手,那么完全可以承担复杂核心的业务模块,提高系统整体的稳定性和性能, 在时间上也能获得不菲的收益, 缩短开发周期, 所以这里单独将部分核心模块抽出一个子系统,其余功能归纳到另外一个子系统, 整个管理系统只分为俩个系统也不会增加太多复杂性.
二、架构方案二

放弃 php 语言,这里统一使用 java 去开发, 该方案考虑到 合适原则和简单原则
相比较第一个架构设计, 可能在系统整体的质量和开发周期上有牺牲,但是团队之间的协调性更好,因为是统一的开发语言,完全可以做到互补, 不会因为某一个人的缺失导致项目进行不下去
三、架构方案三

在架构方案二的基础上增加了主备功能, 从实际场景考虑, 是需要保证一定的可用性,数据不能全部丢失,但是允许少量的丢失, 所以在该基础上做定时备份即可
综合考虑选择架构方案三
评论