微信业务架构图&“学生管理系统”毕设架构设计
微信的业务架构图
“学生管理系统”毕设架构设计
复杂度分析
高性能:因为用户量比较少,不需要考虑高性能;
高可用:学生管理系统就算出故障,对正常的教学活动影响不大,所以不需要高可用,只需保证数据不要全部丢失就行;
可扩展:毕业设计是一次性交付,也不需要考虑太多可扩展需求;
成本:因为研发资金投入有限,所以在满足需求的前提下,尽可能节约成本;
安全:做好系统权限控制,数据不丢失;
人员结构:大家都会 Java,虽然有一个是 PHP 高手,但这个是小项目,同时从快速交付和方便团队成员协同开发的角度考虑,统计用 Java 进行开发。
方案一
本本方案使用-台服务器,同时实现 Nginx 的负载均衡(方便后期增加业务服务器和节约成本)和业务服务,文件服务器和数据库服务器均单独使用一台服务器。
优点:部署简单,硬件成本低。
缺点:业务服务器只有一台,文件服务和数据库服务器没有备份服务器,在高可用方面比较差。
方案二
本方案使用-台 Nginx 服务器进行负载均衡,后端搭配两台业务服务器实现高可用。文件服务器和数据库服务器均使用一主一备模式,读写操作均访问主服务器,备服务器仅作为数据备份使用。
优点:部署简单,访问稳定,能实现一定程度的高可用。
缺点:需要较多的服务器资源。
结论:
考虑到这个项目是毕业设计项目,只是做为考核项目,最终并不会真正投入生产,所以在服务器资源方面的投入,也只是短期投入(答辩完了就可以退掉服务器),成本也不会太高。也正因为是毕业设计项目,所以要体现出项目的技术含量和价值,不能太简单,所以建议选择方案二。另外,考虑到毕业设计要求至少 3 人合作完成,要快速交付和方便团队成员协同开发,因此选择 Java 作为后端开发语言。
评论