疫情给腾讯课堂的架构进化带来的启示和实践_第1页
疫情给腾讯课堂的架构进化带来的启示和实践_第2页
疫情给腾讯课堂的架构进化带来的启示和实践_第3页
疫情给腾讯课堂的架构进化带来的启示和实践_第4页
疫情给腾讯课堂的架构进化带来的启示和实践_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Tencent^iflIIMfeHr]

腾讯课堂架构演进

疫情带来的启示和实践

张红阳

在线教育部僖级工程师

1.疫情带来的启示

2.后疫情时代的架构优化

目录3.云上架构演进

4.课堂中台建设

5.立体运营实践

01疫情带来的启示

CfIG

用户增长周期峰值上课人数——周增长趋势

.1周支撑100w同时在线

.2周支撑300w同时在线

.4周支撑600w同时在线

201820192020.02.092020.02.102020.02.172020.02.242020.03.022020.03.92020.03.16

Cf\G

600w支撑总结

.柔性降级

分析业务服务瓶颈做柔性降级,能够快速应对突发流母.

・性能预测

建立测试、压测体系,在保证产品快速选代的同时做到对服务性能的准确预

测,指导我们边优化边扩容.

.监控体系

不停的选代完善告警监控体系,能实时准确的报告服务问题并得到及时的处理

.全链路告警

监控体系

.业务上云.自动拨测

提升效率质量的同时做到麻速扩容..质量老板

疫情带来启示

监控、告警、工具一体化

技术栈统一、服务中台化研发.CVCD.发布自动化

后疫情时代的架构优化

腾讯课堂架构痛点和优化

回扩容瓶颈,可伸缩性差,系统扩容效率低㈣全量上N

.基于传统织云包的发布模式

.自研环境CDB组件

叵历史架构服务,在海量数据下可维护性差旧城改造

,C++共享内存架构

.多线程异步服务

叵针对性优化类似业务场景无法复用叵中台改造

.宜播流控等防过拗口柔性优化

,大房间消息push优化

回监控告警多而不明确,导致处理不及时甚至无法发现问题叵立体运营

.格误码不统一、定义不明确

.告警方式.依膂通道多

腾讯课堂技术栈优化

中后台语言种开发框架

45Trpc/Bingo

C/C++Java,PYthon.Golang©SPP(同步/舞步/协程)、yaaf(同步

/异步).Jungle.MYSPP.Bingo

回多种开发模式1套测试环境回Devcloud虚拟测试环境

ShekIDE.本地远程一台De颂器,几百个服务Edudocker

4种CI/CD方式⑦4种监控

蓝盾Q/CD0全链路

Jenkins,织云.兹盾.手搐Monitor.ULS.

腾讯课堂架构演进的核心成果

照旧城改造回全量上云回中台改造回立体运营

/

施例68个旧C++服务重接入,昙STGW全量切云CIB•完成直播中台搭建.搭建一站式需求发布系统

.搭建一站式测试/压测系统

构逻辑,昙95%服务上云.完成Tiny统一通道搭建

75%服务使用G。开发DB笈件行肖息存储100%上.完成资料中台搭建.搭建一站式开发调试环境

新服务统一开发框架到云.初步搭建商品体系中台,搭建自动化外网质量跟进系

Bingo/Trpc,旧框架逐步迁中间冲全部切云上paaS服务统

03云上架构演进

教育上云的驱动力

效果

挑战

前JSC女)使用,让版本发布时间降级80%+

STKE的使用,让牙容时间降低了90%+

2、按云原生方式做架构演进,安全上云直播首顿延迟,从1.8s降到0.8s,优化了55%

官播卡顿率,从2.5%降到1.6%,优化了36%

L在线教育业务复杂度高,组件选型从封闭到开源(CNCF)视频转码耗时,从60min降到20min,优化了67%

业务指标已经限制发展脚步制定完就数据迁云步爨,充分预案

引入STKE,版务容器化实现自动犷缩容

引入完善全流程工具造

.存造量>1500TDevops,

渗组用务数>1000

客户腼过10,类型

历史技术钱复杂

2018201920202021

探索实践收获新征程

腾讯课堂云上架构

««■**•。■讯源宜0统讯企n-马R■讯开心M英语

分布式

班务Docker

化.一健构

建.『云组

伸,依?反狄PI

21k

务监控;

即通音视频CLB

互动直播

直播服务

逻辑服务

[STKE]

业号专码云直播

内存存储

内存存储

[CKV][Grocery]

[Redis]

[Qedis][Codis]

腾讯视频

滋盘关系存储磁盘关系存储云点播

回放转码

[自研CDB][云CDB/TDSQL]

.音视频:业务架构复杂性得到,转码稳定性和上

传下载的质量也得到很大的提升9

.存储的选型得到

.逻辑服务容器化,具备了的能力9

IDCDB上云实践

自研IDCDB:

.架构1主5从

.数据400+G

.涉及库表1000+张

.涉及180+模块

.基本影响整站功能

.在线/离线业务混部

梳理预演迁移准备开始迁移业务切换迁移完成

.抓取来源ip和服务.梳理迁移步骤.申请DNS.Mysqldump・自建db停服.清理残余信息

.部署采集服务到

.服务切换演练.配置代理.全量数据同步.等待数据一致.启动业务

砌p.服务切换代理演练.字符集校验・增量数据同步.双写.监控、报表配置

.收集采集到的服

.测试环境迁移演练.DB连通性校脸.等待数据一致.切换

务名或者脚本名.测试环境回滚演练.数据库账户权限校脸.一直性校睑

以及其部署路径.数据库版本校验

中台架构演进

04资料中台架构

教育需要的中台

教育中台

业务中台技术中台数据智能中台研发效能中台

教育产品共性的产品各个业务在构建服务数据的上报、计算、

工欲苦其事,必先利

功能,例如a播回放的汉程中才及的共性汇总,智能分析等是

其叽

支付等功雒.技术依同,互联网产品的标配.

早期资料共享内存历史架构

1.课堂共享内存架构的优缺点都很明显

.优点:性能高,稳定性好

.缺点:犷展性差,运维成本高

同ip机器课程;老师等

|基础数居

2.使用共享内存的历史背景

.数据量规模较小

.团队来源sNG即通(织云,C++)

存储层

3.疫情冲击下,共享内存开始成为架构瓶颈

.数据量规模暴涨(1个月,10w->lOOw量级)

.技术栈统一升级(容器化,golang)

LargeshmAPI•工minishmAPIlargeshmRPC

8G16G64G>128G

现阶段资料中台架构

核心诉求

・运营简单

,去除共享内存依赖

,扩容简单,机器要求低

,存储层可水平扩容

.高可扩展性

,模块化分层设计

,模块可插拔设计,定制化简单

.接入方便

,配置驱动,新熠修改表,字段无需发布

,配名能力丰富,满足多种场景

.数据收拢

,统一缓存规格,业务可自定义

■事,©@

Loader分布式加载架构

业务背景知识:

1、课程5层树形结构,各表间有依赖关系,需要在一个加核心思想:

载周期内装载并保持原子性

、张表需加载,需要保持实时性

2100+.并行执行

3、底层核心数据,影响整张功能,须保证稳定性

/不同任务之间不互用阻塞

.水平扩容

,任务可水平伸缩

・自动容灾

/任务故障,自动切换

.断点重续

/任务重启后直接从故障时间点更新增量更新数据

.监控告警

/任务存活告警,一致性告瞽

关联关系场景数据一致性解决方案

业务背景知识Q

1、课程5层树形结构,1:10:1:250:10的关

2、每层数据又有外部资料依赖

核心思想:

父节点更新完自己的记录变更,再去信箱

收消息更新下层关系

.异步通知关系更新,兼具性能和实时性

.原子性的任务逻辑,保证一致性

.增员表更新更爱扫描机制,增加容错

.定时数据关系检直,保证最终一致性

超大关系数据场景PB序列化性能问题解决方案

业务背景知识:

1、课程5层树形结构,1:10:1:250:10的关系,数据

大小甚至有MB级别

2、Golang反射畦能较差

3、业务侧读多写少

4、APP/web侧需要完整课程树结构场景较多

核心思想:

.提前缓存

/定时任务提前加载缓存

.写时缓存

/写时通知提前加载缓存

资料中台推广&旧接口迁移

服务准备好是第一步,谁愿意使用R怎样才敢将老接口迁移R

1、100+后台服务调用

2、5个接入服务

3、2个产品业务使用

核心思想:

.接口数据对账

/新I日接口级别数据对比

/灰度期间响应旧接口数据

.缓存数据对账

/缓存数据与源数居增址对账,全量对

账,实时告警

05立体运营实践

Devops-覆盖全流程的工具链

开发环境测试环境预发布环境蓝绿发布远程日志

协议管理和单元测试流程控制金丝雀发布监控告警

mock接口测试变更监控拨测调用链路

远程调试自动部署告警处理

代码扫描

能力补齐♦I能力联动»自动化

课堂立体运营体系架构

KM企业■信TAPD购信邮件电情

・力及

研发自动化流程

■・鲜加

IB岁算境

^■一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论