鬥魚發布首個開源框架Jupiter

2020-12-22 TechWeb

鬥魚首個開源項目來了。

2020年6月1日,鬥魚將基於Go語言的微服務框架Jupiter正式開源,這也奠定了鬥魚在國內GO語言開發領域的技術領先地位。

事實上,作為國內領先的遊戲直播平臺,鬥魚從2014年成立至今,始終致力於從技術上提升用戶的體驗,完成了平臺自研播放器的開發,優化了直播流的加載速度,針對高並發量、海量數據的處理進行了技術優化,徹底杜絕了當海量用戶瞬間湧入平臺時無法響應的情況。

據悉,Jupiter脫胎於鬥魚內部的Golang微服務框架,歷經多機房建設、雲化、容器化等多次基礎架構演進,基本涵蓋了內部框架的主要功能。

經過了三年打磨,超過30名鬥魚技術人員的不斷優化下,Jupiter已經完成了10個大版本和99個小版本的迭代。而在超過500個業務場景的實際驗證後,鬥魚最終決定將這套微服務框架正式開源。

引入新語言,根本上解決高並發難題

Go語言是由谷歌於2009年推出的一門相對比較新的程式語言,因其原生支持高並發的特性,被譽為雲原生時代的容器語言。

從直播角度上來講,若在某個時間點,直播平臺能夠承載大量的線上觀看人數而不影響播放品質,說明該平臺在出現高並發情況時,優化的比較到位。反之,如果平臺未能良好處理大量用戶同時湧入的問題,那就會導致伺服器宕機。

為了能夠給觀眾們帶來優質且穩定的觀看體驗,鬥魚在2016年開始嘗試使用GO語言重新編寫後臺代碼。

引入新技術的效果非常顯著。鬥魚技術專家askuy表示,以前,研發團隊時常會擔心超人氣主播入駐平臺會不會引起「炸魚」,但在使用了GO語言後,平臺已經完全可以承受千萬甚至過億級別的並發量。

不過,由於Go在國內的起步較晚,相關的生態和工具在國內都不完善,這是行業面臨的普遍問題。為了提高Go應用的開發效率,鬥魚研發團隊決定開發微服務框架Jupiter。

「我們希望把自己的經驗總結起來,形成一套有利的業務型框架。這樣一來,其他團隊或公司在建立框架的時候,就可以減少基於業務功能的開發,達到節省時間、提高效率的效果。」askuy解釋道。

2018年,經過多年內部打磨的Jupiter框架初步成型,鬥魚武漢技術團隊帶著這套框架在北京研發分部複製,維護成本低、效率高等優點很快讓Jupiter在公司內部得到普及,並且受到了廣泛好評。

建立行業標準

儘管Jupiter不是最完美的框架,但卻是鬥魚基於多年的實際業務經驗積累起來的。至少在公司內部而言,Jupiter已經成為最適合鬥魚的微服務架構,但鬥魚研發團隊的目標顯然不止於此。

2019年9月21日,鬥魚和GopherChina在武漢聯合舉辦了Gopher Meetup武漢站,吸引了湖北省內大量Go語言的研發人員進行了技術交流會。

會議上,鬥魚發現從業者在Go語言的使用上依舊存在大量痛點難以解決,而行業內也缺乏相關的成熟框架,於是決定面向所有大眾開源Jupiter,以此來解決行業普遍存在的微服務生態不完善、維護成本高等問題。

經過了近1年的優化調整,鬥魚最終在6月1日正式開源了微服務框架Jupiter,僅用1個半月就收穫了超過1800個關注度,並且連續多日霸佔了Github網站的golang熱門開源項目排行榜榜首。

很快,鬥魚在國內Go語言開發領域的技術影響力迅速升溫,Jupiter建立的框架規範也得到了許多老牌產品的認可,諸多Beego等老牌成熟框架都開始適配這套規範。

通過開源Jupiter,鬥魚技術團隊全面的梳理了基礎框架的架構設計,總結了服務治理的經驗。同時,開源社區的積極反饋也給鬥魚的團隊帶來了很多有價值的意見和建議。

「目前,Jupiter現在還處於用戶體驗產品的發展階段。我們希望藉助廣大研發人員的力量,不斷完善這套框架。」鬥魚方面表示,「但未來,我們希望這能夠成為一套成熟的行業規範標準。」

相關焦點

  • 基於Go 語言,鬥魚發布首個開源框架 Jupiter
    8月6日消息 今年6 月 1 日,鬥魚將基於 Go 語言的微服務框架 Jupiter 正式開源。據悉,Jupiter 脫胎於鬥魚內部的 Golang 微服務框架,歷經多機房建設、雲化、容器化等多次基礎架構演進,基本涵蓋了內部框架的主要功能。
  • 重磅發布開源框架、生物計算平臺螺旋槳,百度飛槳交了年終成績單
    本屆峰會,百度飛槳帶來八大全新發布與升級,有支持前沿技術探索和應用的生物計算平臺 PaddleHelix 螺旋槳,開發更加便捷的飛槳開源框架 2.0 RC 版,端雲協同的 AI 集成開發環境 BML CodeLab,支持更強大分布式訓練的業界首個通用異構參數伺服器架構,開源算法庫增至 200+,飛槳企業版 EasyDL 智能數據服務升級,飛槳硬體生態路線圖以及攜手全球開發者開啟
  • 微眾銀行開發的全球首個工業級聯邦學習開源框架 FATE 升級 v1.1...
    雷鋒網(公眾號:雷鋒網) AI 開發者按:作為聯邦學習全球首個工業級開源框架,FATE 在近日發布的 v1.1 版本中,不僅上線了橫向聯邦學習通用算法框架,增加了DNN、回歸等多個聯邦算法,並開始支持多方縱向聯邦建模,支持spark引擎,支持FATEServing服務治理,支持secureboost在線預測等。
  • Web前端開發必不可少的9個開源框架
    今天就和大家分享9個流行的、強大的前端開源框架,幫助你輕鬆構建漂亮的網站前端。1、BootstrapBootstrap無疑是最流行的CSS框架,它是最早的Web前端框架,由Twitter開發。Bootstrap還提供了許多實例來幫助你入門。
  • 清華發布首個自動圖學習框架,或有助於蛋白質建模和新藥發現
    澎湃新聞(www.thepaper.cn)記者從清華大學計算機系朱文武教授領導的網絡與媒體實驗室獲悉,該實驗室於2020年12月21日發布了世界首個自動圖學習框架與開源工具包AutoGL。AutoGL框架及開源工具包能夠為開發人員進行圖學習算法設計和調優提供便利,簡化圖學習算法開發與應用的流程,提升圖學習相關的科研和應用效率。
  • 微軟為Azure發布了開源模糊測試框架ProjectOneFuzz
    日前,微軟宣布發布了一款Azure的開源模糊測試框架Project OneFuzz,過去一年,這家科技巨頭一直在內部使用該框架來查找和修補漏洞。Project OneFuzz被微軟描述為一個可擴展的模糊測試框架,旨在解決一些通常與模糊測試相關的挑戰,使開發人員能夠自己進行這種類型的測試,並允許安全工程師專注於其他重要的任務。該公司說,它已經在內部為Windows、Edge和其他產品使用了Project OneFuzz。
  • 微軟宣布WPF、Windows Forms和WinUI這3個流行框架正式開源
    這表明,微軟3個最流行的Windows框架正在迎來開源。它們分別是:要知道,微軟在10月27日完成對GitHub的收購,而這次在年度大會上,通過GitHub來開源相關框架算得上是最大的新聞了。Windows開發人員平臺公司副總裁Kevin Gallo表示:「微軟的三個流行的Windows用戶體驗框架已準備好為開發者在GitHub上做出貢獻。開源這些技術的目的,其實是促進產品團隊與社區之間的透明度,有助於Windows開發的民主化,使社區能夠參與並為此做出貢獻。」
  • 清華大學發布全球首個開源自動圖學習工具包:AutoGL
    打開APP 清華大學發布全球首個開源自動圖學習工具包:AutoGL 機器之心 發表於 2020-12-26 10:38:26
  • 百度開源2020:二十個技術領域持續開源 飛槳、阿波羅成行業領先者
    一、20個技術領域持續開源  截止2020年底,在GitHub/Gitee百度官方組織下已經圍繞著安全、監控、知識圖譜、網絡與接入、視覺、量子計算、開發框架等20個技術領域開源了86個項目,其中自然語言處理、開發框架與前端領域的開源項目數佔比超過50%。
  • 從曠視開源自研深度學習框架 看曠視商業進化的底層邏輯
    2020年3月25日,人工智慧領軍企業曠視舉辦線上發布會,曠視聯合創始人兼CTO唐文斌重新定義了人工智慧底層的基礎設施,並正式發布了曠視AI生產力平臺Brain++,同時宣布開源其核心框架天元(MegEngine)。發布會最後,曠視雲服務業務資深副總裁趙立威介紹了Brain++商業化路線,和初步實踐成果。
  • MiniFramework 2.6.0 發布,PHP 開源框架
    MiniFramework 是一款遵循 Apache2 開源協議發布的,支持 MVC 和 RESTful 的超輕量級 PHP 開發框架,在滿足開發者最基礎的 MVC 分層開發、資料庫和緩存訪問等少量功能基礎上
  • 聊聊我開源RPC框架的那些事
    我踏馬直接踢01 我的自定義 RPC 框架近況關注我的大部分小夥伴應該都知道,3 個月前,我利用業餘時間手寫一個簡單的 RPC 框架(玩具),名字叫做 guide-rpc-framework。目前的話,這個項目已經有 0.5k 的 star。感謝小夥伴們的支持!
  • 開源軟體分享-基於.net core 3.1的快速開發框架
    曾幾何時.NET們很羨慕JAVA的生態,java開源生態裡面你用得著的幾乎都有開源的實現。比如大數據、微服務、以及各種各樣的快速開發框架,特別是spring boot出來以後,簡化了SSM那套繁瑣的配置文件,搭建框架也越來越方便了。
  • 聯邦學習開源框架FATE新版本發布!配套引擎EggRoll煥新登場
    FATE(Federated AI Technology Enabler)作為全球首個聯邦學習的工業級開源框架,實現了同態加密和多方計算(MPC)的安全計算協議,其支持聯邦學習架構,內置了多種機器學習算法的聯邦學習實現,FATE的每一次更新迭代,都在一定程度上代表著聯邦學習的前進方向。
  • 曠視開源深度學習框架「天元」!孫劍:COCO三連冠背後的秘密武器
    剛剛,深度學習驅動之下最早創業的中國AI獨角獸曠視,宣布開源自研深度學習框架MegEngine(Brain++核心組件之一),中文名天元——取自圍棋棋盤中心點的名稱。在發布會上,曠視聯合創始人、CTO唐文斌透露,這也是向AlphaGO致敬。與之前開源的「前輩」框架們不同,曠視開源的AI框架,是其創業、壯大和屢屢刷新業內紀錄的核心驅動引擎。
  • 挑戰TensorFlow、PyTorch,誰才是中國AI開源框架之星?
    作為AI時代的重要的生產工具,AI開源框架是開發者研發AI應用的重要基石,也是開發者們發展路上的相伴者。 不過,縱觀市場上的開源框架,TensorFlow、PyTorch基本兩分天下,從技術能力到生態建設可以滿足大部分企業在其中構建自己的AI應用。反觀國產AI開源框架,無論從市場影響力和使用規模來看,還難與前兩者抗衡。
  • AI開源浪潮的新興力量!OPEN AI LAB Edge AI推理框架Tenigne全解讀
    拉起開源大旗後,AI的框架開源逐漸成為學術界和產業界的趨勢。目前,國內大多數公司和機構的開源框架和平臺,更多是涉及機器學習、深度學習、自然語言處理和數據科學等領域,但針對AIoT領域嵌入式設備進行開源的框架和平臺少之又少,在商業領域同樣鮮少出現。2016年,雖然AI的主要應用方向還是在雲端,但已開始出現AI從雲端往設備端遷移的趨勢。
  • 我國首個住院醫師核心勝任力框架共識發布
    會議發布了中國首個住院醫師核心勝任力框架共識,鮮明闡述了現階段住院醫師培訓的核心要求。住院醫師核心勝任力框架共識是在國家衛健委專門立項支持下,由中國住院醫師培訓精英教學醫院聯盟通力協作、精心討論編撰的綱領性框架文件。2015年,北京協和醫院聯合國內6家頂尖教學醫院共同成立「中國住院醫師培訓精英教學醫院聯盟」,目前成員增至9家。
  • Facebook 最新開源框架 PyRobot,開闢 AI 機器人研究新紀元!
    雷鋒網 AI 科技評論按:過去一段時間裡,PyTorch 等框架的開源大大加快了 AI 子領域研究的進展,如計算機視覺和自然語言處理等。這些框架為研究人員提供了一定程度的抽象,並使得構建最先進的系統、使用共享庫和工具、以及優化性能的操作變得更加容易。
  • 清華大學發布首個自動圖機器學習工具包,開源易用可擴展
    清華大學發布全球首個開源自動圖學習工具包:AutoGL (Auto Graph Learning),支持在圖數據上全自動進行機器學習。人工智慧的蓬勃發展離不開數據、算力、算法這三大要素。而在浩瀚的數據中,有一種數據結構既普遍又複雜,它就是圖(graph)。圖是一種用於描述事物之間關係的結構,其基本構成元素為節點和連接節點的邊。