目录
1 在线教育概述
在线教育主要包含学前教育,k12教育,职业教育。
在线教育背景
a 电脑普及,5G,带宽提升
b 优质教师资源分布不均
c 随时随地学习,封闭模式
d 做题,技巧,提分
在线教育场景:
a 直播课,用户广,互动少
b 录播课,互动性差,课件可复制。
c AI互动课,录制+AI处理,思维,数学,编程领域
d 小班课,10人以内,沉浸感强
e 1对1课
f 双师课,线下加盟店常用模式,远程授课+线下辅导老师维持秩序,解答。10-30人
按商业模式划分
B2C:猿题库,51talk,盈利困难
B2B:云朵课堂
C2C:yy教育和沪江
B2B2C:网易云课堂,51CTO
O2O:e学大,新东方
客户端差异:
APP客户端:随时随地可学习,分享方便
PC客户端:大屏学习效果好,复杂答题便捷
2 逻辑架构
在设计在线教育系统时,首先需要明确其核心功能模块。这些模块不仅是系统的基础,也是开发过程中必须深入研究的关键点。
1.用户管理(老师和学生)
2.课程管理
3.学习管理
4.互动交流
5.支付管理
6.数据统计与分析
3 非功能需求注意事项
性能:主要考虑访问频率,每个用户每天的访问次数。项目初始阶段用户的访问量并不大,如果考虑做运营推广,可能会迎来服务器访问量骤增,因此要考虑分布式部署,引入缓存
可扩展性:系统功能会随着用户量的增加以及多变的互联网用户需求不断地扩展,因此考虑到系统的可扩展性的要求需要使用微服务架构,引入消息中间件
高可用:系统一旦宕机,将会带来不可挽回的损失,因此必须做负载均衡,甚至是异地多活这类复杂的方案。如果数据丢失,修复将会非常麻烦,只能靠人工逐条修复,这个很难接受,因此需要考虑存储高可靠。我们需要考虑多种异常情况:机器故障、机房故障,针对机器故障,我们需要设计 MySQL 同机房主备方案;针对机房故障,我们需要设计 MySQL 跨机房同步方案。
安全性:系统的信息有一定的隐私性,例如用户的个人身份信息,不包含强隐私(例如玉照、情感)的信息,因此使用账号密码管理、数据库访问权限控制即可。
成本:视频类网站的主要成本在于服务器成本、流量成本、存储成本、流媒体研发成本,中小型公司可以考虑使用云服务器和云服务。