微信业务架构图 & 学生管理系统架构设计
一、微信业务架构
粗版微信业务架构整理
按业务模块拆分为大模块和子模块
第一层是为微信的核心业务模块,第二层是为微信的扩展业务模块,第三层理解为依赖和基础服用
按颜色标识,偏用户操作和系统功能
二、学生管理系统架构设计
假设今年学校毕业设计要求提升,要求做真正可运行的学生管理系统,学院对毕设的具体要求如下:
要求可以通过公网域名访问;
要求至少 3 人合作完成;
能够支撑管理 1000 个学生;
答辩的时候会根据架构方案来进行打分,不推荐太简单和太复杂的方案
你找了 2 个好朋友一起来做这个项目,你们的基本情况如下:
大家都会 Java,但是有一个是 PHP 高手
大家经济条件一般
作业要求:
对照面向复杂度架构设计方法论,构思 2 个以上的备选架构方案。
使用 PPT 来画出你的备选架构方案,并说明方案的优缺点。
给出你选择的最终方案以及选择理由。
2.1 复杂度分析
要求可通过公网域名访问,需要满足一定的可用性,1000 个学生的管理,高性能和高可用的要求不高。复杂度的重点考虑保证数据不丢失。
2.2 备选方案
方案一
方案一说明:
4 个核心模块,整体的技术复杂度和业务复杂度不高。不必考虑复杂的架构,合适原则为主。
3 人都会 Java 开发,虽有一名为 php 高手,考虑降低技术栈和团队合作,不引入过多语言栈,采用纯 Java 开发,简单原则思考。
前期考虑成本,先使用一台机器不是应用服务,根据后续情况,再考虑扩展。
方案二
方案二说明:
考虑数据的不可丢失,数据库还是采用主备;
拆分为三个子系统:学生子系统、课程子系统、权限子系统;利用团队有位 PHP 高手,且 PHP 的快速开发 Web 的优势,所进行的拆分;
2.3 定稿设计:方案一
方案一,满足系统的可用性和基本满足数据的不可丢失的复杂度。使用统一的后端语言栈,便于后续的维护和扩展。
版权声明: 本文为 InfoQ 作者【高敬】的原创文章。
原文链接:【http://xie.infoq.cn/article/10075b25472647c679ebcf873】。未经作者许可,禁止转载。
评论