架构实战营 - 模块1 - 微信架构及学生管理系统毕设架构
一、微信业务架构图

二、「学生管理系统」毕设架构设计
基本要求
1. 要求做真正可运行的学生管理系统
2. 要求可以通过公网域名访问
3. 要求至少 3 人合作完成
4. 能够支撑管理 1000 个学生
5. 答辩的时候会根据架构方案来进行打分,不推荐太简单和太复杂的方案
团队现状
已组成3人小队,团队现状如下:
1. 大家都会 Java,但是有一个是 PHP 高手
2. 大家经济条件一般
隐性要求
1. 只需支持1000个学生,无高性能、高可用的需求
2. 团队经济条件一般,需要尽量节约成本
3. 需求并不紧急,可以从容开发
4. 需要保证一定程度的可用性,需要保证数据的一致性
方案设计
排除 SOA 架构方案
排除SOA类型架构方案的理由:
1. 如果考虑服务可用性的需求,会导致服务器数量显著增加,由于需要尽可能节约成本,故尽量不考虑服务拆分,以尽可能节约服务器资源。
2. 服务拆分后,如果要保证可用性, 每个服务子系统均需要部署多个节点,导致需要考虑较为复杂的负载均衡、服务发现相关的隐性需求,故不考虑该方案。
备选架构「1」
方案描述:

备选架构「2」
方案描述:

最终方案选择
选择架构「2」