Golang在ApsaraVideo for Live平台的高效能實踐(含PPT下載)

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
                                                                                                     

編者按:本文是楊武明在 2 月 27 日在 Gopher 北京聚會演講基礎上整理而成。轉載請註明來自高可用架構公眾號「ArchNotes」。


楊武明,熊貓 TV 首席架構師,曾擔任奇虎 360 PC 網遊技術架構負責人,前新浪微博平台資深後端開發、技術專家。對大型互連網架構有豐富的實踐經驗,擅長後端基礎服務與組件開發,尤其高效能、高並發、大資料業務情境。


熊貓 TV 是一家ApsaraVideo for Live平台,先介紹下我們系統啟動並執行環境,下面這 6 大服務只是我們幾十個服務中的一部分,由於並發量與重要性比較高,所以成為 golang 小試牛刀的首批高效能高並發服務。




把大服務拆細, 然後服務化獨立部署,更容易簡化部署,也容易單點細節最佳化與升級。多數服務的能力是通用的,如平滑重啟、多機房部署等。




關於線上服務,如果 1000 萬使用者線上,即使每 30 秒一次線上 http 發送打點,那麼也有每秒 30 萬+的介面 qps。


Golang 提供的 http server 效能非常好,一個普通工程師如果做到單虛機支撐 1w - 2w 每秒的請求量,那麼只需要 10 - 20 台後台伺服器了。


用其他非高效能語言,需要的機器能需要多翻好幾倍; C++ 效能足夠,但對工程師要求很高。




房間服務是主要服務, 需要核心保障,所以對房間服務裡面的版塊,進行了再細粒度的拆分。


對房間資訊變更頻繁的內容也採用隔離儲存區 (Isolated Storage),如人數計數等欄位,這樣的缺點是每次去房間資訊會多帶來一次額外的訪問人數服務的成本。這也是架構設計需要權衡點之一。




禮物系統是多數ApsaraVideo for Live平台的標配,國內有禮物消費習慣的土豪不少,高峰期送禮物的並發量很大,尤其很多土豪對刷的時候。


禮物系統對一致性要求略高,所以存一份資料建多條索引也是一種選擇,也可以降低對事務的依賴。




彈幕互動方式是一個很不錯的體驗,更偏年輕化,大量使用者喜歡通過這種方式與主播互動。


國內網路狀況比較複雜,最好根據使用者位置選擇就近對應電訊廠商的單線機房接入彈幕Message Service,讓彈幕更及時。也可以用 BGP 機房,但網路頻寬價格會比單線貴不少。


對於大房間,彈幕訊息量特別大,主播與使用者都看不過來, 在產品策略層面可以做一些體驗上的最佳化。




ApsaraVideo for Live體驗是整體平台最關鍵點,視訊 CDN 是一種讓使用者就近擷取所需流媒體的技術,且解決延時、卡頓等問題。 從技術角度不要只依賴某一 CDN 供應商或線路,業內很多ApsaraVideo for Live平台都做了拉流線路互備,推流後視頻(轉碼、轉寄)叢集也是一個可最佳化的點,做互推是冗餘了部分推流資源,但對最佳化直播流的體驗與高可用性顯而易見。




包含自由商務邏輯的介面代理服務, 是很多公司都有的一個公用服務,可以把公司內網服務低成本的提供來外網來使用。不過需要考慮好外網安全性原則,包括授權認證、服務關係映射、頻率限制、業務資源隔離等




能看到最後肯定是對我們技術及業務感興趣的朋友,熊貓 TV 技術團隊正在招聘 Golang 工程師,全部配備高配電腦與 DELL 雙屏大螢幕顯示器,並提供有挑戰性的技術環境。感興趣朋友請掃碼進入(同時也有大量 PHP、前端、營運、DBA 等技術崗位)。



以上就是本次分享的主要內容,點擊閱讀原文可以下載 PPT。


更多瞭解楊武明:從3000元月薪碼農到首席架構師的經曆


轉載本文請註明來自高可用架構 「ArchNotes」公眾號及包含以下二維碼。





查看原文:http://www.zoues.com/2016/10/20/golang%e5%9c%a8%e8%a7%86%e9%a2%91%e7%9b%b4%e6%92%ad%e5%b9%b3%e5%8f%b0%e7%9a%84%e9%ab%98%e6%80%a7%e8%83%bd%e5%ae%9e%e8%b7%b5%ef%bc%88%e5%90%abppt%e4%b8%8b%e8%bd%bd%ef%bc%89/
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.