写点什么

Week1 Homework

用户头像
Ray_c
关注
发布于: 刚刚

第一题: 画出微信的业务架构图。


第二题: “学生管理系统”毕设架构设计

  1. 假设今年学校毕业设计要求提升,要求做真正可运行的学生管理系统,学院对毕设的具体要求如下:1 要求可以通过公网域名访问;2 要求至少 3 人合作完成;3 能够支撑管理 1000 个学生;4 答辩的时候会根据架构方案来进行打分,不推荐太简单和太复杂的方案。

  2. 你找了 2 个好朋友一起来做这个项目,你们的基本情况如下:1 大家都会 Java,但是有一个是 PHP 高手;2 大家经济条件一般。

    作业要求:1 对照面向复杂度架构设计方法论,构思 2 个以上的备选架构方案。2 使用 PPT 来画出你的备选架构方案,并说明方案的优缺点。3 给出你选择的最终方案以及选择理由。


  • 面向复杂度设计方法论


  1. 需求分析


  1. 判断复杂度

(1)高性能:性能要求不高,支撑管理 1000 个学生

(2)高可用:保证大部分数据不能丢、不能错。

(3)可扩展:毕业答辩扩展性不需要太高,主要是 3 个人力协作尽量高效(3 个人都会 java,其中 1 个 php 高手)

(4)成本、安全:经济条件一般,服务器尽可能少;公网域名要考虑安全性

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


  1. 拆解备选架构

方案一:

方案二:


  1. 方案选择

最终选择方案一:

(1)成本角度:方案一更节约机器。

(2)性能角度,方案二每台服务器用功能拆分,由于功能在不同时间段流量不平均(比如开学选课高峰、期末考试高峰),没有办法发挥多机性能的优势,而方案一架构在成本更低的情况下可以支撑现有业务,且可以通过业务服务的横向扩展解决未来流量增长带来的性能问题。

(3)可用性,方案一保证了服务高可用和数据不丢的要求


发布于: 刚刚阅读数: 2
用户头像

Ray_c

关注

还未添加个人签名 2017.11.14 加入

还未添加个人简介

评论

发布
暂无评论
Week1 Homework