架构实战营 模块一 作业
题目一:画出微信的业务架构图
题目二:
“学生管理系统”毕设架构设计
假设今年学校毕业设计要求提升,要求做真正可运行的学生管理系统,学院对毕设的具体要求如下:
要求可以通过公网域名访问;
要求至少 3 人合作完成;
能够支撑管理 1000 个学生;
答辩的时候会根据架构方案来进行打分,不推荐太简单和太复杂的方案
你找了 2 个好朋友一起来做这个项目,你们的基本情况如下:
大家都会 Java,但是有一个是 PHP 高手
大家经济条件一般
作业要求:
对照面向复杂度架构设计方法论,构思 2 个以上的备选架构方案。
使用 PPT 来画出你的备选架构方案,并说明方案的优缺点。
给出你选择的最终方案以及选择理由。
备选架构 1:
采用单体架构,使用 Java 语言,采用 Spring MVC+Mybatis 框架实现。php 同学帮忙实现一下 db 相关复杂操作。
高性能:由于学生数量较少,所以单机性能足够支撑。
数据高可用:数据库采用主备方式部署,在主库宕机时可以快速切换到备库继续提供服务。
高可用:应用服务器存在单点故障。
扩展性:由于是单体应用,扩展性相对来说比较差。
安全性、成本:3 台云服务器,按量使用,对于学生来说属于可接受范围。
备选架构 2:
在备选架构 1 上,对应用服务进行高可用设计,采用 Nginx 做负载均衡,保证应用服务不存在单点。
成本:对于 3 名学生来说,可能比较高。
结论,选择备选架构 1。因为大家经济条件一般,备选架构 1 相对于 2 来说,比较经济实惠。
版权声明: 本文为 InfoQ 作者【一雄】的原创文章。
原文链接:【http://xie.infoq.cn/article/7a9ab53cd541f901774babf6a】。文章转载请联系作者。
评论