在线教育平台架构设计

您所在的位置:网站首页 线上课程的流程 在线教育平台架构设计

在线教育平台架构设计

2024-01-07 04:04| 来源: 网络整理| 查看: 265

1.    目的 1.1.    目的 该架构设计主要针对在线教育平台建设过程中的核心需求进行设计,作为架构、设计、开发、测试、运维人员对系统的认识参考。 1.2.    名词解析: 系统:一个软件、一个平台,系统由各种个体组成,形成系统的整体能力 个体:子系统、模块、组件 架构:描述系统的组成个体、个体之间的关系以及个体之间协调运作的规则  框架:解决特定场景问题的规范,包含规则之上的基础功能,如:SrpingMVC解决MVC模式的问题;架构关注是结构,框架关注是规范 子系统:子系统和系统概念一样,都一由一系统个体组件 模块:由一系统个体组成,通过接口来向外提供一定能力的个体 组件:完成特定功能的个体 2.    总体方案 [总体方案需要从整体上描述方案的结构,其核心内容就是架构图,以及针对架构图的描述,包括模块或者子系统的职责描述、核心流程]

在线教育平台架构主要包含以下几方面 1.    课程在线购买,学员签约、课程学习、在线练题及考试、交流社区 2.    课程音视频的管理、存储、在线播放 3.    视频的直播

主要针对在线教育平台的复杂业务场景进行重点设计,当前识别到的复杂业务场景主要包含以下几方面 1.    在线教育PC端端,日常的登录、浏览课程、购买课程并不会形成太高的并发,而一些职业课程临时高前,可能在线练习、模拟考试业务中出现高并发场景,形成一波访问高峰。 2.    平台在直播课程时,会遇到几千人、几万人同时在线观看直播、评论互动的并发访问压力 3.    日常学员在线学习观看视频对服务器、网络带宽的压力 4.    在线教育平台客户、订单、学习记录作系统重要数据,必须保证数据存储安全和完整。 3.    架构总览 3.1.    产品架构

在线考试平台采用分层架构,分为上层应用、核心业务和技术支撑三个层次。 1.    上层应用包括运营管理平台、PC端、APP、小程序和H5端 2.    应用层包括基础在线教育基础业务及音视频直播、点播业务; 3.    技术支撑层采用微服务架构和Dev/Ops流程保证项目实施

3.2.    技术架构  

3.3.    架构设计关键点 3.3.1.    应用架构设计 考虑在线教育本身业务复杂度及后续新业务、新模式的尝试,根据业务功能拆分成10个模块,在实现上采用微服务架构落地,后续随着业务的发展,再进行一步拆分。

3.3.2.    数据库架构设计 在线教育平台的数据主要包含学员、课程、订单、题库、考试、学习记录等数据,这些数据并不会占用多少存储,但这些核心业务数据对平台运营至关重要,一旦丢失可能生成平台信誉和运营产生重要影响,因为数据存储的可靠性最为重要。

3.3.3.    消息队列架构设计 服务之间的数据同步以及推送消息、发送短信、邮件等场景会使用到消息队列,需要设计消息队列生产端和消费端的高可靠性,解决消息队列的重复发送、重复消费、消息丢失等异常情况。

3.3.4.    缓存架构设计 课程的分类、热门课程、用户信息、登录会话以及微服务架构使用到的分布式锁等场景需要使用到缓存,缓存架构需要设计高可靠保障措施。 3.3.5.    核心业务流程  

4.    架构演进规划  [通常情况下,规划和设计的需求比较完善,但如果一次性全部做完,项目周期可能会很长,因此可以采取分阶段实施,即:第一期做什么、第二期做什么,以此类推]

第一期实现 采用基础微服务架构+MySQL集群+Redis缓存架构+RocketMQ集群+直播服务满足平台基础需求

第二期实现 第二阶段根据业务发展进行服务拆分、系统监控、日志平台、链路追踪等基础设施环境的完善

第三期 第三阶段根据业务发展特点进行优化、重构系统架构

    



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3