共计 4295 个字符,预计需要花费 11 分钟才能阅读完成。
简介: iiMedia Research(艾媒征询)数据显示,在线教育市场规模放弃逐年增长的态势,2019 年在线教育市场规模已冲破 4000 亿元。在疫情的助推下,在线教育减速浸透,市场空间无望进一步关上,预计 2020 年中国在线教育市场规模将达到 4538 亿元。
作者:山猎
爱学习教育团体的前身为高思教育,成立于 2009 年,以中小学课外培训起家,已经的定位是 K12 培训机构;2014 年,爱学习教育团体发力 B 端市场,目前在 2B 畛域取得了全国各地办学机构的宽泛认可,由 K12 培训机构降级为 K12 教育供应平台。
2019 年 4 月份,爱学习教育团体实现由华平投资领投的 1.4 亿美元 D 轮融资。2014 年以前,作为一家“教育产品研发”企业,爱学习教育团体为 3 -18 岁年龄层的孩子提供个性化的教育产品计划及所有与教育相干的服务,旗下领有“思泉语文”、“高思数学”、“高思 VIP 一对一”、“中学文科”等互联网教育产品:“乐乐课堂”、“爱学习”、“爱上新诗”“爱尖子”、“爱提分”等多个全国驰名的学习子品牌,这些产品目前曾经被大量的中小学辅导机构及公立学校引进,广泛晋升了孩子的学习体验和学习效果。
2014 年,在一直倒退进化当中,爱学习教育团体(过后还叫高思教育)毅然决然的转型 2B 畛域。据理解,到 2029 年,爱学习教育团体心愿服务寰球 1 亿学生和 500 万老师,助力 50 万所学校,以引领行业的内容和科技给学生带来美妙的学习体验。
在线教育市场竞争强烈,爱学习是如何怀才不遇?
丰盛的互动场景晋升用户体验,稳定性如何实现?
近些年,在线教育行业飞速发展,为整个社会的常识流传提供了前所未有的便利性。通过多种形式的在线教育平台,学员与老师即便相隔万里也能够发展教学活动,真正突破了工夫和空间的限度。基于流媒体传输技术衰亡的在线课堂,能够让师生领有同处一个教室面对面授课听课的实在体验,受到了宽广用户的欢送。
流媒体传输技术是建设在线课堂类利用须要应用到的核心技术,但要打造一款真正优良的在线课堂利用,仅仅依附流媒体传输是不够的,只有融入丰盛的课堂互动场景能力晋升用户体验,让学员的学习效率倍增。这些互动场景包含发问、发言、跟读、点赞、教材导航、白板内容实时展现等,尽可能的晋升这些互动场景的操作晦涩度,是一款在线课堂类利用竞争力的体现,也是泛滥在线教育平台技术团队的独特谋求。爱学习教育的研发团队,就通过一直迭代的技术手段,将在线课堂互动场景的用户体验晋升到了极致。
线上用户量的飞速增长对爱学习研发团队来说是一个微小挑战,借助于云计算弹性伸缩能力,视频直播能够间接应用云服务以满足高并发需要,但真正的难题是如何撑持互动场景的稳固运行。成熟的散布式微服务架构通过节点程度扩容能够轻松的应答 HTTP 申请量的突增,但规范的 HTTP 通信只能解决由客户端到服务端的单向申请,如下图所示:
在线课堂互动场景波及不同用户之间的相互通信,以及服务器向客户端的被动音讯推送,须要建设相似这样的通信模型:
拿课堂发言的场景为例,一位学生提交发言的文字内容后,同一个课堂的其余用户都可能看到这位学生的发言。为了确保发言的内容不违规,最好的形式是服务端先对内容审核一下,过滤掉其中的敏感信息后,再推送给课堂的其余用户,相似这样的流程:
因而,在线课堂互动的实质是服务端和客户端之间的双向音讯通信,建设一个强壮、可扩大、高性能、高老本的双向音讯通信机制,这是实现线课堂互动场景的技术根基。规范的 HTTP 协定没有方法实现服务端被动向客户端推送音讯的业务场景,因而传统的 Web 架构无奈满足在线课堂互动需要。对于这个难题,业界也存在多种解决方案,最简略的形式是对 HTTP 进行少许革新,让客户端周期性对服务端进行询问,以拿回属于本人的音讯,这就是基于 HTTP 的轮询 (Polling) 计划:
这个计划能肯定水平上实现服务端被动向客户端推送音讯,但性能极差,岂但实时性满足不了要求,在没有音讯的状况下还会产生大量空轮询。此外还有一种基于 HTTP 的长轮询 (long polling) 计划,是对一般轮询计划的改良,能解决空轮询问题,但优化水平十分无限,没有方法满足互动场景对于实时性的要求。
在基于 HTTP 协定的计划中,能原生实现服务端与客户端双向通信的是 WebSocket 计划,通过建设 WebSocket 连贯,服务端能实时地将音讯推送给客户端,这也是一些基于网页的轻量级 IM 所广泛采纳的计划。爱学习的研发团队也曾思考过通过 WebSocket 计划实现课堂互动场景,但通过短暂的预研后,他们发现这个计划存在很大的局限性。在课堂互动场景中,有两个非常明显的特点:
(1)单个音讯往往会同时发送给客户端。后面提到的发言场景就是一个很典型的例子,用户在课堂上的发言会被这个课堂的所有其余用户看到。
(2)在线的用户量大,高峰期数万个课堂同时开课。WebSocket 计划须要让服务端和每一个客户端建设连贯,如果须要推送同一笔音讯给多个客户端,须要在服务端自行实现这个逻辑。
当用户量急剧回升的时候,这个架构对于服务端会造成微小的压力,很难反对海量用户同时在线,因而爱学习的研发团队决定弃用 WebSocket 计划,尝试其余的形式来解决。
基于 TCP 或 UDP 自行实现应用层通信协定也是爱学习进行过深刻预研的计划,这种形式灵便度十分高,能够通过定制化的协定对音讯的传输实现任意扩大,但要从头到尾设计一套应用层通信协定,是一项极其简单的工作,须要解决多个难题,如:
• 连贯异样如何解决?
• 客户端断线如何重连?
• 音讯在传输过程中失落如何重发?
• 身份验证和权限治理如何实现?
• 如何保障服务端节点如何实现程度扩容?
这些都是开发要思考的因素,爱学习的研发团队尽管有能力将这些细节都关照周全,设计一套适宜于本身业务场景的通信协定,但须要投入的工夫老本是十分大的,面临的危险也十分高。在业务疾速倒退的大背景下,研发团队须要和工夫赛跑,从新寻找能够疾速撑持海量用户同时在线的课堂互动计划。
通过一直技术预研所积攒下来的教训,爱学习的研发团队得出了最终的论断:在技术架构上要能做到如下几点,能力满足他们在线课堂互动的需要:
(1)能撑持海量客户端同时在线;
(2)稳固,高可用;
(3)性能不满足要求时,服务端能程度扩大;
(4)通过一个两头模块进行音讯散发,缩小音讯复制的老本;
(5)简略易用,能够疾速上线。
这其中,能满足 4 和 5 的最佳计划基于 MQTT 协定来实现。MQTT 是一个基于客户端 - 服务器的音讯公布 / 订阅传输协定,为低带宽和不稳固的网络环境中的设施提供牢靠的网络服务。MQTT 协定具备设计思想开放、简略、轻量、易用的特点,能提供一对多的音讯公布,从而解除应用程序之间的耦合,也提供了音讯必达性的保障,是非常适合用于挪动客户端音讯推送的。
但 MQTT 毕竟只是一个协定,须要有成熟稳固的产品来撑持,能力用于大规模的商用场景。开源界提供的几套 MQTT 实现计划,都没有通过谨严的测试和商用考验,客户端数量达到 1000 个当前性能急剧下降,根本无法反对万级客户端同时在线。
围绕课堂互动场景,爱学习研发团队和阿里云技术专家进行了深刻交换,通过数轮的评估测试后,终于决定应用阿里云微音讯队列 MQTT 来搭建他们的在线课堂互动平台。相比开源计划,阿里云微音讯队列 MQTT 在阿里巴巴外部通过了多年的验证和演进,可能撑持千万级设施在线连贯,百万级音讯并发,以及毫秒级音讯推送。其采纳分布式理念进行设计,无单点瓶颈,各组件之间均能够有限程度扩大,确保容量可弹性伸缩,并对用户通明。
在这个架构中,位于互联网上的客户端设施通过规范的 MQTT 协定接入阿里云微音讯队列 MQTT。MQTT 协定的 SDK 简直笼罩了所有支流的开发语言,而且能十分好的适应挪动客户端网络不稳固的状况。位于云上的服务器集群通过 RocketMQ 协定接入音讯队列 RocketMQ,并通过 RocketMQ 与 MQTT 之间的协定转换实现服务端与客户端之间的双向互通。
为什么要引入一个新的组件音讯队列 RocketMQ,并让服务端的实例通过 RocketMQ 协定接入呢?有三个次要起因:
(1)相比客户端实例,服务端实例在规模上要小几个数量级,但单实例的音讯吞吐量又比客户端要大几个数量级。在一个典型的在线课堂场景中,有数万甚至几十万级的客户端设施同时接入,而每个客户端每秒钟的音讯收发量不会超过 10 条;服务端的状况就恰恰相反,100 个实例的规模集群曾经是十分大规模的集群了,而每个服务端实例 1 秒内可能要解决上万笔音讯。服务端和客户端之间人造的区别这就决定了他们须要应用不同个性的通信协定进行接入,以实现性能和效率的最大化。
(2)当服务端的解决能力存在有余时,音讯须要在队列上进行暂存。而 RocketMQ 的引入为 MQTT 提供了音讯的存储。
(3)服务端集群的多个实例之间隐含着对等和工作摊派的关系,通过 RocketMQ 的集群生产模式恰好就可能提供原生的负载平衡机制。
回到课堂发言的场景,发言内容提交当前,通过负载均机制,服务端集群中的某一个实例拿到发言内容,在审核实现后,只须要将音讯投递给 MQTT 云服务,就能分发给同一个课堂的其余用户了。这样对于服务端实例而言,只须要和 MQTT 云服务建设一个连贯,就能同时为上万个用户提供服务。
业务高峰期,当服务端实例呈现了性能瓶颈的时候,只须要减少服务端实例的数量,就能程度线性的晋升。而 MQTT 云服务自身的性能晋升则更加简略,只须要在规定上进行升配就能够实现,能够做到对利用齐全无感知。
爱学习的研发团队基于这套架构,半个月的工夫就搭建了一套残缺的课堂互动零碎。开发团队不须要在应用层关怀弱网络环境、断线重连、异样解决、海量并发、零碎高可用等简单的技术问题,极大水平上升高了开发成本,晋升了用户体验。
为了反对“天空之城”打算带来的用户量急剧回升,爱学习教育对这套零碎进行了屡次扩容,胜利抗住了数次流量洪峰,确保了业务的稳固运行。(补充:为响应教育部“复课不停学”的呐喊,帮忙更多本地 K12 机构及时转型线上,爱学习教育团体推出“天空之城”打算,凋谢优质内容和在线直播能力。已有 9000 多家机构抉择通过爱学习在线平台进行线上授课,爱学习正在帮忙越来越多的机构顺利转型,共筑“天空之城”。)
“天空之城”打算受全社会的高度认可的同时,爱学习的研发团队也对系统架构进行继续的迭代,并将 MQTT 技术用在更多的云端双向互通场景,以应酬将来更多的挑战。正如爱学习教育团体联结创始人、团体总裁李川所言:“咱们喜爱做价值更大的事儿,将来还有更美妙的期待。”
原文链接
本文为阿里云原创内容,未经容许不得转载。