Bootstrap

架构实战营 - 模块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」

理由