TOP100全球案例研究峰会:作业帮打造百万级QPS常态化链路压测诊断平台
近期,TOP100全球案例研究峰会于北京国际会议中心召开。作业帮作为在线教育领域的典型案例成功入选,作业帮产研中台组测试负责人王俊星出席会议,并于工具链建设分会场向与会嘉宾展示了作业帮百万级QPS常态化链路压测诊断平台。
据了解,TOP100全球案例研究峰会是由msup公司主办的全球顶级技术峰会,至今已成功举办9届。本届TOP100全球案例研究峰会邀请到Amazon、LinkedIn、IBM、百度、阿里、腾讯、字节跳动等130位一线技术大咖和业界专家,并由18位垂直专题领域的业界专家担当联席主席,负责专题案例评审、甄选,最终形成120件案例和18个专题。对于案例评选,TOP100更崇尚专业的力量和案例落地实践,致力于让听众有所收益,保证发布的案例学习榜单富有学习价值。
此次作业帮成功入选TOP100全球案例,是权威机构对作业帮作为领先在线教育平台技术实力的肯定。王俊星表示,一直以来作业帮以全链路压测模型的迭代升级赋能多样化场景,保证线上千万级并发直播上课的稳定性。未来,作业帮将继续融通各项技术及团队能力,深耕压测平台架构优化等基础建设,保证作业帮线上服务稳定性达到99.99%,实现稳定的优质教育资源供给,以辐射千万孩子的学习征程,践行教育使命和愿景。
千万学生学习场景存在解构风险,压测成必由之路
今年年初,在“停课不停学”的号召下,教育部鼓励老师和学生“在家上学”。随之而来的是通过互联网音视频与知识建立连接的方式在全国范围内迅速普及,在线教育用户规模呈井喷式增长,2020年被称为“在线教育爆发之年”。
作为在线教育企业独角兽之一,作业帮超级APP聚集效应在今年持续增强。易观3月数据显示,作业帮是中国唯一月活过亿的教育类APP,在流量维度保持行业领先之势。随着用户规模不断增长,保证系统稳定性、有效破解千万学生学习场景的解构风险成为作业帮面临的首要任务。
王俊星在会上表示,教育是容不得半点马虎与妥协的,为满足所有学生和家长对于从在线获取知识的期待,我们必须保证系统的稳定性。因此,作业帮开始发力系统稳定性评估路径的探索。在调研业界各大公司的稳定性方案和开源压测框架后,作业帮基于自身业务场景,选择了自研全链路压测模型的解决方案。据了解,该模型必须与作业帮业务场景高度契合才能有效保证系统的正常运行,既涵盖双师角色、学生交互复杂场景的复用、切换,同时必须将服务架构、私有协议的特殊性纳入考量范围。
然而,扣住在线教育的脉搏并非一朝之间。尽管参与人数众多,每项操作均为精心设置,整个团队视熬夜为常态,但早期压测仍未取得预期效果。“压测结果与现实存在巨大偏差,团队的心情只能用一句歌词形容:多么痛的领悟,别再为压测受苦。”对于初次尝试的失败,王俊星回忆道。
不同于传统线下行业可以模拟出一个对等的生产环境,互联网行业的压测难以实现同级别的服务集群。数据构造不真实、场景臆想正是压测架构脆弱的关键所在。此外,压测工具缺乏安全性、人力投入成本大等问题亦亟待解决。因此,对于在市场赛道完美承受高压检验,作业帮还有更长的路要走。
安全先行、场景还原,作业帮推出自研压测平台
对于作业帮人来说,压力测试不仅是关乎业绩和增长的技术命题,更是与跨城乡、跨地域的全中国中小学生相关的教育供给命题。为此,作业帮解锁了自研压测平台的进阶关卡。
首先,产研团队在压测的探索上达成了安全先行的共识,将“服务与数据隔离”设定为核心思想,研发、测试、运维共同建设将方案落地。具体而言,依托于日志服务,对数据进行清洗和脱敏,数据经过压测平台后产生压测标记,在业务网关分发到各业务集群,业务模块根据压测标记,进行基础业务服务和数据的隔离。
对于场景模拟和数据构造的真实性,团队目前已从最初的捉襟见肘转向能够游刃有余地发挥技术优势的阶段。随着平台投入使用后,对大家的衍生使用需求,如数据预热需求、高压下的持续稳定性测试等,进行了优化支持,以满足压测多样化需求。
而在模拟场景的塑造上,作业帮则分为两大板块,生成不同的设计思路。一方面,对大型售卖活动,采取了多场景链路压测叠加参数化的方式进行梯度发压,并基于漏斗型用户行为模型,达成预期的成果;另一方面,对复杂教学场景的支持,复杂性主要体现在技术复杂性(涉及到私有技术架构、长连接和流媒体协议),数据和交互的复杂性即双师教学的业务形态(每个学生都是一个独立的个体,有各自的行为序列;主讲与辅导老师各司其职并实时同步学生状态,使主讲及时调整教学内容,保证学生的课堂收获)。因此作业帮自研了学生节点、主讲节点、辅导老师节点模型,依托真实的日志将不同角色的行为序列化,最后注入模型,实现教学场景的仿真。
王俊星表示:“作业帮是做教育的,因此对直播课场景倾注了更多心血。我们必须严格把控视频流的同步性、互动的实时性及到达率,保证教学质量与学生的体验,而场景还原是做足攻防和破坏性演练的基础。当翻山越岭跨过这道坎之后,作业帮仍要继续寻求压测技术的向上突破。”
高效的常态化平台体系加持,作业帮稳定输出教育价值
对于在线教育技术团队而言,每次活动或开课节点都是一场硬仗,平台服务层面的“风平浪静”一般源自于底层技术团队压测的无数次“惊心动魄”。为缓解人员运维压力,提高效率,作业帮团队从压测平台的发压阶段切入,切实提高重大事件的平台承受能力。
王俊星介绍道,作业帮对于发压侧进行了结构性调整优化,基于2PC思想和流水线形式处理链路,大大提升单节点发压能力,减少了设备投入和运维成本。发压的安全上也会进一步优化,很快我们就会与业务支撑系统打通,触发阈值熔断并与自动化平台联动以达到服务探活的目的,使压测风险进一步降低。
同时,为了解决高并发数据结果统计瓶颈,作业帮还会对计算引擎进行优化,通过分级计算、分布式部署,解决数据汇总压力,提升集群水平扩展性。
效率的提高除了对源头进行管控,也离不开中间层面的调度程序优化。对此,作业帮丰富节点管理,增加节点属性,并针对特殊压测场景,独立申请压测节点,使节点分配更加高效合理,避免互相影响。
目前,集安全、拟真、效率于一体的百万级QPS常态化链路压测诊断平台已初步具备了抗风险能力,对千万孩子的教育资源流通产生强大的辐射作用。未来,作业帮还将聚焦系统薄弱环节预判板块,持续建设内置学习模型,全面打造自动化、领先行业的赋能平台。
谈及压测平台的研发心得,王俊星表示,“用技术完美承接瞬时流量也许能无差别地让每一位工程师产生成就感,而用科技落实教育理念则是作业帮人的独有标签。对我们而言,教育容不得半点马虎与妥协,我们必须保证每一位学生的体验和课堂收获,让优质教育触手可及。今后,我们将继续投入优质教育资源的稳定供给之中,辐射千万孩子的学习征程,践行教育使命和愿景。”