模块一:课后作业
1. 画出微信的业务架构图
2. “学生管理系统”毕设架构设计
假设今年学校毕业设计要求提升,要求做真正可运行的学生管理系统,学院对毕设的具体要求如下:
要求可以通过公网域名访问;
要求至少 3 人合作完成;
能够支撑管理 1000 个学生;
答辩的时候会根据架构方案来进行打分,不推荐太简单和太复杂的方案
你找了 2 个好朋友一起来做这个项目,你们的基本情况如下:
大家都会 Java,但是有一个是 PHP 高手
大家经济条件一般
作业要求:
对照面向复杂度架构设计方法论,构思 2 个以上的备选架构方案。
使用 PPT 来画出你的备选架构方案,并说明方案的优缺点。
给出你选择的最终方案以及选择理由。
作业 1. 微信业务架构图
作业 2
判断复杂度
方案 1
方案 1 nginx 做路由和负载均衡+(业务服务器 一组 php 集群+一组 java 集群.) +(mysql 主背)
由于团队中有 PHP 高手,开发能力会>=其他两个人。我们可以将 2 个模块用 PHP 开发,2 个模块用 java 开发,这样可以最大化利用资源。
业务服务器无状态,可以独立横向扩展.
方案 2
直接 DNS 解析到业务服务器,最小成本.
都是 java 技术栈,沟通和维护成本低.
方案取舍
原则匹配:
简单原则
没有多余服务. 层级和角色足够简单
合适原则
经费上比较节省,且能满足 1000 人+数据安全性
演变原则
毕业设计不需要啥演变,答辩完即可.
评论