写点什么

极客时间架构实战营第 10 期模块 1 作业

作者:刘博
  • 2022-12-06
    浙江
  • 本文字数:485 字

    阅读完需:约 2 分钟

微信架构

学生管理系统

方案 1


方案 2

复杂度分析

1、业务:需要使用公网域名访问,因此需要 1 台 nginx 做域名转换和反向代理;需要提供一个可用的学生管理系统,需要包括学生管理、课程管理、权限管理功能。

2、团队和技术:规模 3 人,需将系统拆解为多模块或多个子系统实现。考虑团队技术能力,虽然一人是 php 高手,但考虑到开发语言的统一性,方案 1 与方案 2 中应用系统都采用 java 语言编写。

3、质量属性(可靠性/高性能/可扩展)的需求:支撑数据量:1000,因此对系统基本没有高性能、高可靠的要求,无需对此作特别设计。

4、考虑到服务可靠性采用两台服务器部署两套完整的工程系统,再由数据库部署主备两套数据库

基于以上分析,设计了上面 2 种方案。

优缺点比较

合适原则:都满足业务当前发展需求,且技术栈与团队匹配,目前业务量比较少,架构都相对简单,2 种方案没有明显优缺点。

简单原则:方案 1 将系统拆分了 3 个子系统,方案 2 拆分为 3 个子模块,在一个系统内承载,方案 2 比方案 1 在系统外的复杂度上更简单,且方案 2 只部署了 2 台机器,成本更少。

演化原则:方案 1 与方案 2 都能够在数据量增长之后分别进行扩展,无明显优缺点。

用户头像

刘博

关注

还未添加个人签名 2021-09-18 加入

还未添加个人简介

评论

发布
暂无评论
极客时间架构实战营第10期模块1作业_架构_刘博_InfoQ写作社区