架构实战营模块一作业

一、微信业务架构图

二、学生管理系统
2.1 业务架构图

2.2 备选架构方案
方案一

方案二

方案分析
共同点:
1.采用前后端分离开发方式。PHP 做前端 ,另外两名同学做后端。
2.考虑学生的资源并不充分,再考虑可用性和扩展性的基础上尽量减少服务器总量,便于落地。
3.采用 FDFS 做文件管理及备份。
方案一
优点:Mongodb 可以更好的应对不同学校对学生\教师的属性的不确定性
确定:应用服务器挂掉后,整个系统陷入瘫痪。
方案二
优点:单台服务器包含所有应用服务,单台故障不影响系统的使用
缺点:没有基础的分布式支撑,增加运维难度。
结论:
选择方案一,理由:Mongodb 对实体的属性的自定义支持更友好。系统运维成本低,便于定位问题
评论