写点什么

架构实战营:模块三作业

作者:Poplar
  • 2022 年 1 月 20 日
  • 本文字数:441 字

    阅读完需:约 1 分钟

前言

本文是外包管理系统的架构设计文档,用于指导该系统后续的开发、测试、运行和维护工作

词汇表

Nginx:反向代理服务器,可以做 http 缓存

1. 业务背景

随着学校规模的扩大,需要处理的数据量也增加,需要教师和学生花费大量时间处理数据,为提高相关效率,所以需要本系统


2. 约束和限制

1、工期限制

2、学校成本

3、数据高可用,避免数据丢失

3. 总体架构


3.1 架构分析

业务复杂度:整体复杂度较高,拆分成子系统减少复杂度。

高可用:系统高可用需求较低,但是数据的高可用需求很高。

高性能:选课系统存在高并发场景,需要有机制支持这种突发情况。

3.2 总体架构

  1. 数据库采用主备模式。

  2. 子系统单独部署。

  3. nginx 将请求代理到子系统。

4. 详细设计


4.1 核心功能


4.2 关键设计

  1. 数据高可用。数据库采用主备数据同步。

  2. 针对选课这种高并发场景,课程信息和课程选择进度需要使用缓存,每一次选课请求使用消息队列异步处理。


4.3 设计规范

  1. 子系统使用 Spring Boot 开发

  2. MySQL 使用 InnoDB 存储引擎,同步方式选择 binlog

  3. 选课场景并发使用 redis 作为缓存系统。

5. 质量设计


6. 演进规划

用户头像

Poplar

关注

还未添加个人签名 2018.04.23 加入

还未添加个人简介

评论

发布
暂无评论
架构实战营:模块三作业