写点什么

架构实战营模块 1 作业

作者:
  • 2023-02-22
    上海
  • 本文字数:818 字

    阅读完需:约 3 分钟

1、微信的业务架构图

2.假设今年学校毕业设计要求提升,要求做真正可运行的学生管理系统,学院对毕设的具体要求如下:

① 要求可以通过公网域名访问;

② 要求至少 3 人合作完成;

③ 能够支撑管理 1000 个学生;

④ 答辩的时候会根据架构方案来进行打分,不推荐太简单和太复杂的方案。


你找了 2 个好朋友一起来做这个项目,你们的基本情况如下:

① 大家都会 Java,但是有一个是 PHP 高手;

② 大家经济条件一般。


作业要求:

① 对照面向复杂度架构设计方法论,构思 2 个以上的备选架构方案。

② 使用 PPT 来画出你的备选架构方案,并说明方案的优缺点。

③ 给出你选择的最终方案以及选择理由


复杂度分析:

1.高性能:支持的学生数为 1000 人,用户量小,不需要考虑高性能;

2.高可用:学生管理系统,学生的数据不能出现大面积或者全部丢失,因此对高可用处于中等要求;

3.可扩展:业务要求比较复杂,

4.成本:因大家经济条件一般,因此整个系统开发需要考虑部署成本;因 3 人都会 java,因此开发语言采用 java,减少开发成本;


以下方案均购买云服务,减小成本

方案 1:


1.采用 dns 配置域名对外提供服务,对于 1000 人的学生系统完全够用;

2.因支持的学生数为 1000 人,且为毕设,数据量较小,数据库采用 sqlite,并且每日一备份;如果正式使用,可以切换成 mysql,只需改配置即可;因为 sqltie 数据库在数据伸缩性以及后期系统的并发、可用性上,不如 c/s 数据库;但作为毕设项目 sqlite 够用且 java 的组件支持,正式部署,易于替换;


方案 2:

方案 2 的内容基本和方案 1 相同,数据库切换成 mysql,如果系统正式部署,支撑的学生数量比较多,可采用该方案;


方案 3:

方案 3 的内容基本和方案 2 相比,dns 换成了 nginx,如果系统需支撑的学生数量比较多,web 并发访问量会增加,需要用到 nginx 做支撑;


作为毕业设计:选择方案 1,主要从满足系统需求和节省成本考虑;如果学校考虑正式部署:且在需求不变的情况下,考虑方案 2,主要从以后的扩展和数据可用性上做考量。采用 mysql 主备方案,可以规避一部分数据丢失的风险;

用户头像

关注

还未添加个人签名 2020-11-26 加入

还未添加个人简介

评论

发布
暂无评论
架构实战营模块1作业_浩_InfoQ写作社区