Monthly Archives: July 2022

架构设计作业2

分析一下微信朋友圈的高性能复杂度 【作业要求】 对照模块2讲述的复杂度分析方法,分析微信朋友圈的复杂度。 针对各个复杂度,画出你的架构设计方案(无需做备选方案,只需要最终的方案即可)。 给出你的架构方案中关键的设计理由。 3~5页 PPT 即可,涵盖复杂度分析、架构设计、设计理由。 【提示】 1. 分析过程可以参考模块2第5课的实战案例,但是不需要将分析过程一一列举出来。 2. 如果某个地方被卡主了,请及时联系助教或者老师讨论。 设计考虑: 采用Nginx做负载均衡。 用sharding-JDBC做个人动态的分库分表的方式记录个人发布的动态信息,适应计算高性能的要求。 使用异步Fanout的方式将个人朋友圈的时间线进行更新,适应计算高性能的要求。 用sharding-MangoDB来更新评论。适应计算高性能的要求。由于评论不断更新,MangoDB适合将各个评论集合在一起,更新和访问的效率比关系数据库好。 采用CDN来加速图片和视频信息的更新和访问,适应存储高性能的要求。

Posted in Uncategorized | Leave a comment

架构设计作业1

画出微信的业务架构图 2. “学生管理系统”毕设架构设计 假设今年学校毕业设计要求提升,要求做真正可运行的学生管理系统,学院对毕设的具体要求如下:  1 要求可以通过公网域名访问; 2 要求至少3人合作完成; 3 能够支撑管理1000个学生; 4 答辩的时候会根据架构方案来进行打分,不推荐太简单和太复杂的方案。 你找了 2 个好朋友一起来做这个项目,你们的基本情况如下:  1 大家都会Java,但是有一个是PHP高手; 2 大家经济条件一般。 作业要求: 1 对照面向复杂度架构设计方法论,构思2个以上的备选架构方案。 2 使用PPT来画出你的备选架构方案,并说明方案的优缺点。3 给出你选择的最终方案以及选择理由。 方案一: 优点: 采用单体业务服务,部署和维护简单(简单原则)。 采用JAVA作为服务系统的开发语言,符合团队人员的技术背景(合适原则)。 采用Nginx做简单的负载均衡,足以满足1000学生的访问(合适原则)。 采用一主一备的MySQL服务器 和 文件服务器,满足学生信息尽量不丢失的需求(合适原则)。 一次性交付,不需要考虑太多的后期演化(演化原则)。 缺点: 没有利用到PHP高手的技术特长。 架构相对简单,虽然符合简单原则,但可能会影响评分。 方案二: 优点: 采用Nginx做简单的负载均衡,足以满足1000学生的访问(合适原则)。 … Continue reading

Posted in Uncategorized | Leave a comment