写点什么

架构实战训练营第一周

作者:刘帅
  • 2022 年 1 月 23 日
  • 本文字数:777 字

    阅读完需:约 3 分钟

架构实战训练营第一周

1.微信的业务架构图


2.学生管理系统架构设计

2.1 需求分析

(1)要求可以通过公网域名访问

(2)要求至少 3 个人合作完成

(3)能够支撑管理 1000 个学生

(4)不推荐太复杂和太简单的架构方案

实际情况:有三名开发人员,3 个 Java 开发,一个 PHP 开发高手,大家经济条件一般.

根据需求 1:要求可以通过公网域名访问.由于大家经济条件一般,选择通过阿里云购买域名及 DNS 解析服务,包括服务器等也通过阿里云购买.根据需求 3:能够支撑管理 1000 个学生.考虑到极端情况,1000 个学生同时操作系统,tps 最大为 1000.学生管理系统是一个读多写少的系统,在学期开始和期末是学生登录和操作系统的高频时段,写操作大多集中在学生首次登录后录入信息,各学期期末选课,读操作较为频繁的有查询课表,查询期末考试信息,查询个人学籍信息等.

2.2 架构设计

2.2.1 方案 1-PHP 管理端 Java 学生端

根据开发人员的具体组成,选择由 PHP 开发教师管理端,由 java 开发学生端.根据极端最大 1000tps 的实际情况,选择 Nginx 作为系统入口的路由及负载均衡服务器防止单节点故障导致整体服务不可用,部署两台 Nginx 服务器,学生端服务部署三台业务服务器,教师管理端部署一台服务器,由于经济条件一般,服务器选择阿里云服务器,因为是读多写少的场景,业务服务器选择读写分离的数据源处理,数据存储选择单数据源一主一备实时同步的数据存储方案,每天备份一次数据,具体架构图如下.

方案 1 架构图

2.2.1 方案 1-统一 Java 应用

方案二采用单一的 Java 语言开发应用,教师管理端和学生端统一部署的架构设计,选择 Nginx 作为系统的负载均衡服务器,路由功能有业务系统根据请求 url 进行路由,防止单节点故障导致整体服务不可用,部署两台 Nginx 服务器,,根据极端最大 1000tps 的实际情况,应用部署四台业务服务,服务器均选择阿里云服务器,数据源仍然采用读写分离的数据源处理,数据存储选择单数据源一主一备实时同步的数据存储方案,每天备份一次数据,具体架构图如下.


方案 2 架构图

发布于: 刚刚阅读数: 3
用户头像

刘帅

关注

还未添加个人签名 2018.05.04 加入

还未添加个人简介

评论

发布
暂无评论
架构实战训练营第一周