技术规模化、复杂化?看作业帮如何利用 OpenCloudOS 解决技术难题!
近年来,大数据、5G、AI 技术应用快速发展,助力我国教育信息化水平不断提升,并催生大量在线教育新场景、新模式、新业态,有效满足人们多样化学习需求。
作为国内用户规模领先的在线教育平台,作业帮致力于用科技手段助力教育普惠,运用前沿技术为全国中小学生提供更高效的学习方案。但与此同时,规模化、复杂化所带来的技术难题也在束缚着作业帮的发展。
2023 年 6 月 20 日,「OpenCloudOS 社区操作系统英雄汇」系列第三期专题讲座,作业帮基础架构研发团队负责人吕亚霖以《作业帮如何利用 OpenCloudOS 解决技术难题》为题开展线上主题讲座,分享作业帮在 OpenCloudOS 开源社区上的应用实践。
一、技术现状:规模化、复杂化
纵览整个教育行业版图,中小学线上教育是一个亿级别的用户市场,这无疑需要产品矩阵完善的大平台进行系统承接。作业帮成立于 2015 年,一直致力于运用人工智能(AI)、大数据等前沿技术,为 B、C 端用户提供高效、智能的学习和教育产品及解决方案。用户增长与产品丰富的相互叠加,催生了整个品牌生态的日益繁茂,作业帮逐步成为该领域用户数量领先的平台。
作业帮规模化、复杂化的技术现状
随着数据不断增加,作业帮拥有数千项业务应用、数万项业务实例以及数十万的计算核数,还使用了 C++、Java、Python 等多语言栈、多云架构,总体上呈现规模化和复杂化的特点。这在一定程度上保证了作业帮业务的正常运营,但也增加了作业帮的运营成本,运维产出比并不理想。
此外,作业帮在 kubernetes 方向上也遇到了一系列的内核性能优化和问题。例如 IPVS 模式高并发场景下,连接复用引发连接异常的问题;IPVS 模式在高配节点(核数多)下 IPVS 规则过多引发网络毛刺的问题等。
对于统一内核版本、适配交付场景硬件、优化性能等方面的需要使作业帮逐渐明确了对于操作系统的核心需求:经过海量业务验证的企业级的安全、稳定、高性能的操作系统。国产操作系统开源社区 OpenCloudOS 为作业帮提供了有效的解决方案。
二、OC8、OC9 解决方案
2021 年,OpenCloudOS 操作系统开源社区正式诞生,致力于研发国产化、自主可控的下一代云原生操作系统。为使观众能够更直观地了解 OpenCloudOS 自研产品,吕亚霖以 OC8、OC9 两个版本为例,为观众介绍了 OpenCloudOS 自研产品技术新特性。
OC8 产品技术特性及应用生态
OC8 发行版的内核基于社区 LTS 5.4 独立演进,用户态与 CentOS 兼容,在保持 CentOS 兼容性的同时,通过内核的全面优化和打磨,提供更强的服务能力和稳定性,是 CentOS 的更佳替代方案。通过业务实践与验证,OC8 具有稳定可靠、深度定制、全面优化、高性能、开源开放、生态共享等诸多优点。
OC9 产品技术特性
OC9 是 OpenCloudOS 社区成员联合研发基于 OpenCloudOS Stream23 的首个 L3 全自研版本,更加高效经济、独立开放。OC9 使用上游社区最新内核 Kernel 6.1,提供多体系架构和新硬件支持,多核性能优化,混部隔离特性增强。除了高性能、安全稳定、支持多硬件平台的特性外,OC9.0 还将为云原生、大数据、人工智能等领域的开发者和用户提供更好的基础环境和服务能力。
截至目前,OpenCloudOS 社区及衍生版本装机量累计超过 1000 万节点,覆盖了银行、保险、证券等 12 大行业,并经历了海量场景长时间的考验,很好地符合了作业帮对于操作系统的需求与期待,因此,作业帮在 OC 上开展一系列实践,使其不再受技术难题的掣肘。
三、在 OC 上的技术实践
一、统一运维:在多样化边缘场景下使用 OpenCloudOS
作业帮在中心 IDC 机房的演化历程
从 2019 年至今,作业帮经历了虚拟机到容器技术爆发的时代,并逐渐使用 TencentOS Server 和 OpenCloudOS 的不同版本来向上支持 kubernetes。到 2022 年,作业帮开始使用 OC8 向上支持 ebpf,解决服务治理的诉求。在多年的实践积累下,作业帮在多样化边缘场景下使用 OpenCloudOS 取得了不错的成效,例如多样化的硬件驱动适配、优化设备性能、集合和支持边缘 kubernetes 特性等。
二、成本收益:基于 OpenCloudOS 的在离线混部方案
在线服务与离线作业的资源利用对比
在线服务的服务时延敏感,对服务 SLA 要求极高,利用率约 20%;而离线作业的服务时延不敏感,容错率高,利用率高达 60%。因此,通过在离线混部能够有效提升资源利用率,实现降本增效。OpenCloudOS 提供了绝对抢占的离线调度器——BT调度,通过对内存动态调整和网络带宽限制,一方面实现了绝对抢占,达到完美隔离效果,另一方面能够深度定制,完成极致的调度指标。
三、效率提升:基于 OpenCloudOS 的问题定位和分析能力
EBPF 问题定位和分析
基础架构经常遇到这样的问题:某服务 QPS 百万级别,平均时延 10ms,偶发万分之一的长尾时延 100ms 导致服务异常,希望定位长尾时延的原因以及解决问题。但是该如何定位?几千个服务模块,每周反馈几十例,又该如何提升效率?
吕亚霖指出,需要一个定位和分析问题的通用方法和工具。OpenCloudOS 提供了社区 netrace、社区 BCC、自研协议流转分析等工具,通过将工具集打包到一个 ds 服务里,使操作平台化自主化、结果报告化,从而实现 kubernetes 故障分析,提供完美的解决方案。
四、结语
在此次讲座结尾,吕亚霖表示对 OpenCloudOS 开源社区的未来发展满怀期待,并希望进一步丰富 OpenCloudOS 周边生态、加大企业级产品服务集成。
作业帮依托「科技+教育」双引擎优势,未来将会继续在学习工具产品、智能硬件等领域深入布局,与 OpenCloudOS 展开深度合作,让技术于在线教育场景中真正落地。
欢迎扫描下方二维码,加入社区交流群,即可免费获取各种 OpenCloudOS 相关的技术支持,参与群内抽奖活动。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
SpringBoot 2 种方式快速实现分库分表,轻松拿捏!
大家好,我是小富~ (一)好好的系统,为什么要分库分表? (二)分库分表的 21 条法则,hold 住! 本文是《分库分表ShardingSphere5.x原理与实战》系列的第三篇文章,本文将为您介绍 ShardingSphere 的一些基础特性和架构组成,以及在 Springboot 环境下通过 JAVA编码 和 Yml配置 两种方式快速实现分库分表。 本文案例demo地址 一、什么是 ShardingSphere? shardingsphere 是一款开源的分布式关系型数据库中间件,为 Apache 的顶级项目。其前身是 sharding-jdbc 和 sharding-proxy 的两个独立项目,后来在 2018 年合并成了一个项目,并正式更名为 ShardingSphere。 其中 sharding-jdbc 为整个生态中最为经典和成熟的框架,最早接触分库分表的人应该都知道它,是学习分库分表的最佳入门工具。 如今的 ShardingSphere 已经不再是单纯代指某个框架,而是一个完整的技术生态圈,由三款开源的分布式数据库中间件 sharding-jdbc、sharding-p...
- 下一篇
券商数字化创新场景数据中台实践
时下,众多金融机构在积极推行数字化改革,以适应时代高速革新。为回应市场对信息即时生效的迫切需求,各家券商机构都需要更具竞争力的信息服务。 本次方案结合券商场景与业务实践,围绕客户实际面临的业务和数据问题,输出整体建设方案,方案包括业务背景、业务痛点、以及相关解决方案和实际案例。 以上内容节选自案例集,点击链接下载完整案例集:https://www.dtstack.com/resources/1048 01 券商数据业务化面临的挑战 2014年被称为券商互联网化的元年,当时有券商选择和互联网平台合作,有的则自建平台。发展到现在,证券服务与人工智能、大数据、区块链、云计算等技术结合,推动证券行业真正开始数字化转型,行业的金融服务生态也被重构。但面对数字化转型这一课题,券商还面临诸多挑战: 数据共享难,数据创新成本高 部门间数据孤岛,缺乏企业统一数据出口,数据消费方式获取数据困难,难以发挥全域数据价值。 平台架构复杂,运维成本高 大数据开源组件众多+更新迭代快,安装部署维护使用的技术门槛高,数据开发效率低,资源利用率不高,存在浪费。 启动成本高,建设周期长 投资高、周期长:建设到投产以月为度...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2全家桶,快速入门学习开发网站教程
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- 2048小游戏-低调大师作品
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,CentOS7官方镜像安装Oracle11G