基于 Go 语言,斗鱼发布首个开源框架 Jupiter
8月6日消息 今年6 月 1 日,斗鱼将基于 Go 语言的微服务框架 Jupiter 正式开源。据悉,Jupiter 脱胎于斗鱼内部的 Golang 微服务框架,历经多机房建设、云化、容器化等多次基础架构演进,基本涵盖了内部框架的主要功能。
作为国内游戏直播平台,斗鱼从 2014 年成立至今,在技术上完成了平台自研播放器的开发,优化了直播流的加载速度,针对高并发量、海量数据的处理进行了技术优化,彻底杜绝了当海量用户瞬间涌入平台时无法响应的情况。
Go 语言是由谷歌于 2009 年推出的一门相对比较新的编程语言,因其原生支持高并发的特性,被誉为云原生时代的容器语言。
从直播角度上来讲,若在某个时间点,直播平台能够承载大量的线上观看人数而不影响播放品质,说明该平台在出现高并发情况时,优化的比较到位。反之,如果平台未能良好处理大量用户同时涌入的问题,那就会导致服务器宕机。
为了带来优质且稳定的观看体验,斗鱼在 2016 年开始尝试使用 GO 语言重新编写后台代码。斗鱼技术专家 askuy 表示,使用 GO 语言后,平台已经完全可以承受千万甚至过亿级别的并发量。
2018 年,经过多年内部打磨的 Jupiter 框架初步成型,斗鱼武汉技术团队带着这套框架在北京研发分部复制,维护成本低、效率高等优点很快让 Jupiter 在公司内部得到普及,并且受到好评。
尽管 Jupiter 不是最完美的框架,但却是斗鱼基于多年的实际业务经验积累起来的。至少在公司内部而言,Jupiter 已经成为最适合斗鱼的微服务架构。
2019 年 9 月 21 日,斗鱼和 GopherChina 在武汉联合举办了 Gopher Meetup 武汉站,吸引了湖北省内大量 Go 语言的研发人员进行了技术交流会。
会议上,斗鱼发现从业者在 Go 语言的使用上依旧存在大量痛点难以解决,而行业内也缺乏相关的成熟框架,于是决定面向所有大众开源 Jupiter,以此来解决行业普遍存在的微服务生态不完善、维护成本高等问题。
经过了近 1 年的优化调整,斗鱼最终在 6 月 1 日正式开源微服务框架 Jupiter,仅用 1 个半月就收获了超过 1800 个关注度,并且连续多日霸占 Github 网站的 golang 热门开源项目排行榜榜首。
斗鱼表示,目前,Jupiter 现在还处于用户体验产品的发展阶段,希望借助广大研发人员的力量,不断完善这套框架。但未来希望这能够成为一套成熟的行业规范标准。