写点什么

[模块一作业]

作者:wuli洋
  • 2022 年 5 月 18 日
  • 本文字数:509 字

    阅读完需:约 2 分钟

微信架构


“学生管理系统”毕设架构设计

需求分析:

1.安全:公网可访问,因此需要考虑 web 安全,防止 DDOS 攻击,账户泄露,XSS 攻击等,因此需要相关的网关服务进行 LB/限流/SSO 认证等

2.高可用:由于涉及学生数据存储,因此需要做到系统高可用,保证数据可用和持久化

3.高性能:因为目前只有 1000 个学生,因此系统整体 qps 不会超过 1000,性能要求不高,单机即可实现。

4.3 人合作,在技术栈选型上会选 java

  1. 成本:目前经济条件有限不会考虑


方案一,网关服务负责挂载公网 ip,代理网络流量到后端,隐藏业务服务,当外网被攻击或者切内网时可以直接无成本切换;


方案二

前后端分离项目,前端 web 主要存储静态资源,进行 SSO 鉴权,后端业务服务单独部署,为后续水平扩展分布式集群提供方便


选择方案 2

架构设计三原则

合适原则

考虑外网部署,因此前端服务需要进行身份认证,鉴权等功能开发,且和后端分离,防止 DDOS 把后端打挂,同时 php 同学可以在 web 服务器上进行相关的前端功能开发,解放了后端的一些非核心业务功能迭代。

简单原则

整个业务复杂度性能要求不高,因此采用单体服务部署,数据需要保证可靠性,因此采用 mysql 主备

演化原则

前后端分离,方便后续水平扩展,后端也可以拆解微服务架构,db 后续可以进行分库分表构建


用户头像

wuli洋

关注

还未添加个人签名 2019.12.07 加入

还未添加个人简介

评论

发布
暂无评论
[模块一作业]_wuli洋_InfoQ写作社区