8月6日消息 今年6 月 1 日,斗魚將基于 Go 語言的微服務框架 Jupiter 正式開源。據(jù)悉,Jupiter 脫胎于斗魚內(nèi)部的 Golang 微服務框架,歷經(jīng)多機房建設、云化、容器化等多次基礎架構演進,基本涵蓋了內(nèi)部框架的主要功能。
作為國內(nèi)游戲直播平臺,斗魚從 2014 年成立至今,在技術上完成了平臺自研播放器的開發(fā),優(yōu)化了直播流的加載速度,針對高并發(fā)量、海量數(shù)據(jù)的處理進行了技術優(yōu)化,徹底杜絕了當海量用戶瞬間涌入平臺時無法響應的情況。
Go 語言是由谷歌于 2009 年推出的一門相對比較新的編程語言,因其原生支持高并發(fā)的特性,被譽為云原生時代的容器語言。
從直播角度上來講,若在某個時間點,直播平臺能夠承載大量的線上觀看人數(shù)而不影響播放品質(zhì),說明該平臺在出現(xiàn)高并發(fā)情況時,優(yōu)化的比較到位。反之,如果平臺未能良好處理大量用戶同時涌入的問題,那就會導致服務器宕機。
據(jù)獲悉,為了帶來優(yōu)質(zhì)且穩(wěn)定的觀看體驗,斗魚在 2016 年開始嘗試使用 GO 語言重新編寫后臺代碼。斗魚技術專家 askuy 表示,使用 GO 語言后,平臺已經(jīng)完全可以承受千萬甚至過億級別的并發(fā)量。
2018 年,經(jīng)過多年內(nèi)部打磨的 Jupiter 框架初步成型,斗魚武漢技術團隊帶著這套框架在北京研發(fā)分部復制,維護成本低、效率高等優(yōu)點很快讓 Jupiter 在公司內(nèi)部得到普及,并且受到好評。
盡管 Jupiter 不是最完美的框架,但卻是斗魚基于多年的實際業(yè)務經(jīng)驗積累起來的。至少在公司內(nèi)部而言,Jupiter 已經(jīng)成為最適合斗魚的微服務架構。
2019 年 9 月 21 日,斗魚和 GopherChina 在武漢聯(lián)合舉辦了 Gopher Meetup 武漢站,吸引了湖北省內(nèi)大量 Go 語言的研發(fā)人員進行了技術交流會。
會議上,斗魚發(fā)現(xiàn)從業(yè)者在 Go 語言的使用上依舊存在大量痛點難以解決,而行業(yè)內(nèi)也缺乏相關的成熟框架,于是決定面向所有大眾開源 Jupiter,以此來解決行業(yè)普遍存在的微服務生態(tài)不完善、維護成本高等問題。
經(jīng)過了近 1 年的優(yōu)化調(diào)整,斗魚最終在 6 月 1 日正式開源微服務框架 Jupiter,僅用 1 個半月就收獲了超過 1800 個關注度,并且連續(xù)多日霸占 Github 網(wǎng)站的 golang 熱門開源項目排行榜榜首。
斗魚表示,目前,Jupiter 現(xiàn)在還處于用戶體驗產(chǎn)品的發(fā)展階段,希望借助廣大研發(fā)人員的力量,不斷完善這套框架。但未來希望這能夠成為一套成熟的行業(yè)規(guī)范標準。
關鍵詞: 斗魚將基于Go語言