架构训练营第 3 期模块一作业
1.微信业务架构图
图 1 微信业务架构图
2.学生管理系统架构设计
判断复杂度:
可扩展:业务需求比较复杂
数据高可用:数据不要全部丢失
图 2 备选架构 1
图 3 备选架构 2
备选架构 1
优点:
1.Nginx 支持高并发,技术流行便于找工作
2.各子系统分别租用云服务器,各子系统由 3 人分别开发,分工明确,可扩展性强
3.MySQL 数据库采用双机热备份方式,可用性强
缺点:
1.分为多个子系统开发增加了复杂度,不利于按时交付
2.Nginx 使用 C++开发,成员不熟悉
备选架构 2
优点:
1.使用 PHP YII 框架可以活用 PHP 高手的能力
2.使用一台学校社团已有的业务服务器运行学生管理系统的全部模块,节省成本,开发效率高
3.使用开源 PostgreSQL 数据库,节省采购和维护成本
缺点:
1.架构相对简单,可能不会获得较高评分
2.可扩展性不足
3.数据库采取单台服务器冷备份方式,可用性不足
合适原则:
(1)选择 PHP YII 能够发挥 PHP 高手的优势,提高开发效率,符合团队技术水平和积累
(2)选择开源数据库,学生管理系统统一运行在社团已有的服务器上,开发成本低
(3)PostgreSQL 数据库部署简单,维护难度低,后续系统运维成本低
简单原则:
有限时间内需要部署上线,需要优先考虑业务需求实现,不进行系统拆分。
演化原则:
毕业设计结束,课题结束,无需考虑太多后期演化;
学生数量少,系统架构够用。
按照架构设计三原则,合适原则、简单原则、演化原则,综合考虑团队技术水平、方案成本、开发周期、导师认可度,认为备选架构 2 可行性更高。
评论