基於Go 語言,鬥魚發布首個開源框架 Jupiter

2020-12-14 IT之家

IT之家8月6日消息 今年6 月 1 日,鬥魚將基於 Go 語言的微服務框架 Jupiter 正式開源。據悉,Jupiter 脫胎於鬥魚內部的 Golang 微服務框架,歷經多機房建設、雲化、容器化等多次基礎架構演進,基本涵蓋了內部框架的主要功能。

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

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

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

IT之家獲悉,為了帶來優質且穩定的觀看體驗,鬥魚在 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 現在還處於用戶體驗產品的發展階段,希望藉助廣大研發人員的力量,不斷完善這套框架。但未來希望這能夠成為一套成熟的行業規範標準。

相關焦點

  • Go 語言極速 web 框架 IRIS V4.1.1 發布 - OSCHINA - 中文開源...
    Go 語言極速 web 框架 IRIS V4.1.1 發布了,更新如下:4.0.0 -> 4.1.1NEW
  • 最近大家都在用 Go 語言玩什麼?這幾個最新的開源項目告訴你
    自 2009 年 11 月正式宣布推出以來,Go 語言憑藉著其簡單、高效、資源佔用低的優勢逐漸在開發者人群中變得熱門起來,優秀的 Go 語言開源項目層出不窮。Gitee 上優秀的開發者們也已經分享了近 400 個得到 Gitee 官方推薦的優質 Go 語言項目,我們為大家挑選出最新的幾個,看看最近大家都在用 Go 語言做些什麼好玩的東西。
  • 6個最好的Go語言Web框架
    語言Web框架。這些都是促使我們(即便是我們中最優秀的)使用框架的原因,如果其他人已經做了必要的艱苦的工作,我們不會想讓自己重複這些工作。Go 是一個快速增長的開源程式語言,用於構建簡單、快速和可靠的軟體。點這裡看有哪些大公司在使用Go語言來構建他們的服務。本文提供了所有必要的信息,以幫助開發人員了解使用Go語言開發Web應用程式的最佳選項。。
  • Google Go 語言從入門到應用必備開源項目
    Go語言是基於Inferno作業系統所開發的,並在Linux及Mac OS X平臺上進行了實現,後追加 Windows 系統下的實現。Go 語言起源 2007 年,並於 2009 年正式對外發布。它從 2009 年 9 月 21 日開始作為谷歌公司 20% 兼職項目,即相關員工利用 20% 的空餘時間來參與 Go 語言的研發工作。
  • Go 指南:頂級 Go 框架、IDE 和工具列表
    在 Tiobe 的年度程式語言排名中,Go 語言已經穩定在 20 之前。顯然,Go 語言吸引了來自不同學科的許多程式設計師和軟體開發外包專業人士。可以這麼說,這全都是因為 Go 語言的易用性。作為一種編譯型的開源程式語言,Go 語言能使開發人員輕鬆構建簡單可靠又高效的軟體。
  • 開發者必備:基於Linux生態的十大AI開源框架盤點
    Deeplearning4j遵循Apache 2.0開源協議,提供了基於AWS雲服務的GPU運算支持,以及微軟伺服器框架的支持。官網:http://deeplearning4j.org/2. Caffe:廣受歡迎的深度學習框架
  • 開發者必備:基於 Linux 生態的十大AI開源框架盤
    Deeplearning4j遵循Apache 2.0開源協議,提供了基於AWS雲服務的GPU運算支持,以及微軟伺服器框架的支持。官網: http://deeplearning4j.org/2. Caffe:廣受歡迎的深度學習框架
  • 十個值得一試的開源深度學習框架 - OSCHINA - 中文開源技術交流社區
    無疑,來自Google軍火庫的TensorFlow必然是開源深度學習軟體中的明星產品,登陸GitHub當天就成為最受關注的項目,當周獲得評星數就輕鬆超過1萬個。對於希望在應用中整合深度學習功能的開發者來說,GitHub上其實還有很多不錯的開源項目值得關注,首先我們推薦目前規模人氣最高的TOP3:一、Caffe。
  • Google發布Go程式語言的首個穩定版本
    自2009年對外公布後,Go語言日益流行。現在Google終於在其官方博客 宣布Go語言首個穩定版本發布,這也標誌著第一個原生支持Windows用戶的自然語言發布。 Google發布穩定版本的目的是給開發者的開發提供一個固定的努力目標。直到現在,該語言仍發生著定期改變,有些可能與現有代碼完全不同。現在開始,除非必要,Google工程師將確保新特性與已有特性兼容。 Go語言的很大一部分靈感來源於C語言,同時對像Pascal、Newsqueak和Limbo這樣的語言也有借鑑。
  • 阿里雲開源EasyTransfer:業界首個面向NLP場景深度遷移學習框架
    機器之心發布機器之心編輯部阿里雲正式開源了深度遷移學習框架 EasyTransfer,本文詳細介紹了 EasyTransfer 框架的核心功能近日,阿里雲正式開源了深度遷移學習框架 EasyTransfer,這是業界首個面向 NLP 場景的深度遷移學習框架。
  • OSCAR 開源先鋒日 | 微服務框架 ServiceComb 探秘
    ServiceComb 取名寓意蜂巢,是華為雲開源的微服務框架,是全球首個進入 Apache軟體基金會孵化的微服務開源項目,孵化期間堅持「Apache Way」,堅持開放、中立、標準、多樣化等原則。
  • Facebook 發布開源框架 PyTorch, Torch 終於被移植到 Python 生態...
    它實現了機器學習框架 Torch 在 Python 語言環境的執行。開發團隊表示,除 Facebook之外,它還已經被推特、卡內基梅隆大學和 Salesforce 等機構採用。如今,作為經典機器學習庫 Torch 的埠,PyTorch 為 Python 語言使用者提供了舒適的寫代碼選擇。雷鋒網此前對 Torch 做過介紹。詳情請看盤點四大民間機器學習開源框架:Theano、Caffe、Torch 和 SciKit-learn 。
  • Go語言愛好者周刊:第 12 期
    點擊上方藍色「Go語言中文網」關注我們,設個星標,每天學習 Go 語言這裡記錄每周值得分享的 Go 語言相關內容,周日發布。本周刊開源(GitHub:),歡迎投稿,推薦或自薦文章/軟體/資源等,請 。資訊 1、gcs(go config server) 配置管理平臺,此項目基於 gf 框架開發,支持項目管理、配置管理、配置發布、項目對比、配置複製,接口獲取配置等。
  • 為什麼很多公司轉型 Go 語言開發?Go 語言能做什麼
    通過少量的代碼,即可實現框架的標準化,並以統一的規範快速構建API業務邏輯。能快速的構建各種通用組件和公共類庫,進一步提升開發效率,實現特定場景下的功能量產。2、Go語言能做什麼Go 語言從發布 1.0 版本以來備受眾多開發者關注並得到廣泛使用,Go 語言的簡單、高效、並發特性吸引了眾多傳統語言開發者的加入,而且人數越來越多。
  • 終極Go 指南、全文搜尋引擎 MeiliSearch、酷炫 UI 框架 arwes...
    及 Hacker News 熱帖(簡稱 HN 熱帖),選項標準:新發布 | 實用 | 有趣,根據項目 release 時間分類,發布時間不超過 7 day 的項目會標註 New,無該標誌則說明項目 release 超過一周。
  • 深度學習——你需要了解的八大開源框架
    作為當下最熱門的話題,Google、Facebook、Microsoft等巨頭都圍繞深度學習重點投資了一系列新興項目,他們也一直在支持一些開源深度學習框架。可適性強: 可以應用在不同設備上,cpus,gpu,行動裝置,雲平臺等自動差分: TensorFlow的自動差分能力對很多基於Graph的機器學習算法有益多種程式語言可選: TensorFlow很容易使用,有python接口和C++接口。其他語言可以使用SWIG工具使用接口。
  • 重磅發布開源框架、生物計算平臺螺旋槳,百度飛槳交了年終成績單
    本屆峰會,百度飛槳帶來八大全新發布與升級,有支持前沿技術探索和應用的生物計算平臺 PaddleHelix 螺旋槳,開發更加便捷的飛槳開源框架 2.0 RC 版,端雲協同的 AI 集成開發環境 BML CodeLab,支持更強大分布式訓練的業界首個通用異構參數伺服器架構,開源算法庫增至 200+,飛槳企業版 EasyDL 智能數據服務升級,飛槳硬體生態路線圖以及攜手全球開發者開啟
  • IMI 正式發布!基於 Swoole 的協程 PHP 開發框架
    介紹IMI 是基於 Swoole 開發的協程 PHP 開發框架,擁有常駐內存、協程異步非阻塞IO等優點。IMI 框架文檔豐富,上手容易,致力於讓開發者跟使用傳統 MVC 框架一樣順手。……日誌、緩存都支持:多驅動 + 多實例 + 統一操作入口所有連接池都支持:同步 + 異步 + 多驅動 + 多實例文檔完全開發手冊運行環境版權資訊IMI 遵循 Apache2 開源協議發布
  • 微軟開源基於模型的機器學習框架 Infer.NET
    6 日,微軟開源了其基於模型的機器學習框架 Infer.NET。項目地址:https://github.com/dotnet/infer
  • 阿里雲開源的業界首個面向NLP場景深度遷移學習框架EasyTransfer
    近日,阿里雲正式開源了深度遷移學習框架EasyTransfer,這是業界首個面向NLP場景的深度遷移學習框架。該框架由阿里雲機器學習PAI團隊研發,讓自然語言處理場景的模型預訓練和遷移學習開發與部署更加簡單和高效。