架构 7 期模块 1 作业
微信业务架构图
“学生管理系统”毕设架构设计
方案 1
- 单一代码库
- 单体部署
- 采用 MySQL replica 做灾备
方案 2
- 硬件配置同方案 1
- 单体架构拆分为多个子服务
- 子服务拥有独立代码库和部署
- 子服务容器化
结论
业务量只要求支撑管理 1000 个学生,所以单体架构就可以满足要求;
因为“经济条件一般”,所以 app server 只考虑单台。虽然两个方案都存在 single point of failure,但是毕设要求没有提到高可用,所以应该可以接受一定程度的 downtime;
需求提到“真正可运行”,所以要考虑数据安全,采用 MySQL replica;
如果没有其他要求,方案 1 即可。但是要求中有一条:“不推荐太简单和太复杂的方案”,所以适当引入 SOA 和容器化,这样对将来的服务扩展也有帮助。
综上,最终方案选择方案 2.
评论