SpringBoot项⽬实战(⼀)
SpringBoot实战之系统架构
1.系统介绍
该实战项⽬,是⼀个B2C模式的职业技能在线教育系统,分为前台⽤户系统和后台运营平台。前台⽤户系统包括课程、问答、⽂章三⼤部分。后台运营平台包括会员管理、讲师管理、课程管理、⽂章资讯、统计分析等系统功能。
1.系统技术架构。
前后端分离
后端的主要技术架构是:SpringBoot + SpringCloud + MyBatis-Plus + MySQL+Swagger2
前端的架构是:Node.js + Vue.js + Nuxt
使⽤了阿⾥云OSS、阿⾥云视频点播、登录、ECharts图表展⽰,使⽤POI进⾏Excel解析。
2.系统模块
3.系统架构
架构设计需要考虑的⼏个⽅⾯:
性能:主要考虑访问频率,每个⽤户每天的访问次数。项⽬初始阶段⽤户的访问量并不⼤,如果考虑做运营推⼴,可能会迎来服务器访问量骤增,因此要考虑分布式部署,引⼊缓存
可扩展性:系统功能会随着⽤户量的增加以及多变的互联⽹⽤户需求不断地扩展,因此考虑到系统的可扩展性的要求需要使⽤微服务架构,引⼊消息中间件
⾼可⽤:系统⼀旦宕机,将会带来不可挽回的损失,因此必须做负载均衡,甚⾄是异地多活这类复杂的⽅案。如果数据丢失,修复将会⾮常⿇烦,只能靠⼈⼯逐条修复,这个很难接受,因此需要考虑存储⾼可靠。我们需要考虑多种异常情况:机器故障、机房故障,针对机器故障,我们需要设计MySQL 同机房主备⽅案;针对机房故障,我们需要设计 MySQL 跨机房同步⽅案。
安全性:系统的信息有⼀定的隐私性,例如⽤户的个⼈⾝份信息,不包含强隐私(例如⽟照、情感)的信息,因此使⽤账号密码管理、数据库访问权限控制即可。
成本:视频类⽹站的主要成本在于服务器成本、流量成本、存储成本、流媒体研发成本,中⼩型公司可以考虑使⽤云服务器和云服务。
springboot架构图

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。