阿里雲Redis混合儲存典型場景:如何輕鬆搭建視訊直播間系統
本文主要介紹視訊直播間系統,以及如何使用阿里雲Redis混合儲存例項方便快捷的構建大資料量,低延遲的視訊直播間服務。
背景
視訊直播間作為直播系統對外的表現形式,在整個系統中處於核心地位。通常除了視訊直播視窗外,直播間還包含線上使用者,禮物,評論,點贊,排行榜等資訊。直播間訊息,時效性高,互動性強,對系統時延有著非常高的要求,非常適合使用Redis等快取服務來處理。
直播資訊
實時排行資訊
實時排行資訊包含直播間線上使用者列表,各種禮物排行榜,彈幕訊息(可以理解為按訊息維度的訊息排行榜)等資訊,適合使用Redis中的SortedSet結構進行儲存。
例如,以unix timestamp+毫秒數為分值,記錄user55的直播間增加的5條彈幕
redis> ZADD user55:_danmu 1523959031601166 message111111111111
(integer) 1
11.160.24.14:3003> ZADD user55:_danmu 1523959031601266 message222222222222
(integer) 1
11.160.24.14:3003> ZADD user55:_danmu 1523959088894232 message33333
(integer) 1
11.160.24.14:3003> ZADD user55:_danmu 1523959090390160 message444444
(integer) 1
11.160.24.14:3003> ZADD user55:_danmu 1523959092951218 message5555
(integer) 1
返回最新的3條彈幕資訊:
redis> ZREVRANGEBYSCORE user55:_danmu +inf -inf LIMIT 0 3
1) "message5555"
2) "message444444"
3) "message33333"
返回指定時間段內的3條彈幕資訊:
redis> ZREVRANGEBYSCORE user55:_danmu 1523959088894232 -inf LIMIT 0 3
1) "message33333"
2) "message222222222222"
3) "message111111111111"
計數類資訊
計數類資訊以使用者維度為例,有未讀訊息數,關注數,粉絲數,經驗值等等。這類訊息適合以Redis中的Hash結構進行儲存。
redis> HSET user:55 follower 5
(integer) 1
redis> HINCRBY user:55 follower 1 //關注數+1
(integer) 6
redis> HGETALL user:55
1) "follow"
2) "6"
時間線資訊
時間線資訊是以時間為維度的資訊列表,典型的比如主播動態,新帖。這類資訊排序方式是固定的時間順序,可以考慮使用List或者SortedSet來儲存。
redis> LPUSH user:55_recent_activitiy '{datetime:201804112010,type:publish,title:開播啦,content:加油}'
(integer) 1
redis> LPUSH user:55_recent_activitiy '{datetime:201804131910,type:publish,title:請假,content:抱歉,今天有事鴿一天}'
(integer) 2
redis> LRANGE user:55_recent_activitiy 0 10
1) "{datetime:201804131910,type:publish,title:\xe8\xaf\xb7\xe5\x81\x87\",content:\xe6\x8a\xb1\xe6\xad\x89\xef\xbc\x8c\xe4\xbb\x8a\xe5\xa4\xa9\xe6\x9c\x89\xe4\xba\x8b\xe9\xb8\xbd\xe4\xb8\x80\xe5\xa4\xa9}"
2) "{datetime:201804112010,type:publish,title:\xe5\xbc\x80\xe6\x92\xad\xe5\x95\xa6,content:\xe5\x8a\xa0\xe6\xb2\xb9}"
阿里雲Redis優勢
- 阿里雲主從版Redis提供10萬的QPS,讀寫分離版本Redis提供60萬QPS最大力度支援系統的高併發需求。
- 資深專家團隊深度開發維護Redis原始碼,經千萬服務考驗,超高穩定性和安全性。
- 雙機熱備架構,故障秒級自動遷移,全力保障訂單資料。
- 一鍵建立,一鍵擴容,全方位智慧監控運維平臺。請求量,活躍度一眼就能看清。
- 專業服務團隊,實時監控可用性,7 x 24小時線上諮詢。
使用Redis混合儲存例項儲存資訊
阿里雲Redis混合儲存產品完全相容Redis協議,使用者無需修改任何程式碼,以低成本的NVMe盤儲存不常訪問的直播間資料,可以突破記憶體容量限制,單例項最高可支援TB級別的資料容量
- 當Redis混合儲存例項記憶體可以儲存所有直播間資料時,訪問所有直播間資料均可享受極致效能。
- 當直播間資料越來越多,快要超過例項記憶體限制時,Redis混合儲存例項會自動從訪問頻率,訪問時間等維度選擇冷門的直播間資料,後臺將其Value儲存到磁碟上;
- 熱門直播間資料仍然保留在記憶體中,效能不受任何影響;
- 當訪問到磁碟上的冷門直播間資料時,資料會自動從後臺載入到記憶體中,所有IO操作都經過阿里雲自研的新一代儲存引擎Fusion Engine極致優化,4K資料載入速度在20us左右;
- 通過將部分冷資料儲存到磁碟的方式,有效降低了使用者成本並突破記憶體對單例項容量的限制。
相關文章
- 阿里雲 Redis 混合儲存版上線阿里Redis
- 短視訊直播系統開發直播短視訊程式搭建短視訊互動直播
- 杉巖牽手阿里雲,混合雲端儲存生根發芽阿里
- 阿里雲釋出Apsara SA系列混合雲端儲存陣列阿里陣列
- 影片直播場景下物件儲存的應用物件
- 阿里雲日誌服務sls的典型應用場景阿里
- Redis輕鬆實現秒殺系統Redis
- 雲上創新,阿里雲視訊雲分享全場景音視訊服務背後的場景探索與技術實踐阿里
- 短視訊直播系統,動態內的圖片實現長按儲存
- 用Redis輕鬆實現秒殺系統Redis
- win10系統xbox錄屏如何更改視訊儲存位置Win10
- 如何建立雲端儲存應急演練體系及進行場景設計?
- 混合雲端儲存開啟企業上雲新路徑--阿里雲混合雲備份容災方案發布阿里
- win10系統如何擷取視訊片段儲存為圖片Win10
- 繪圖黑科技—輕鬆搭建“真孿生”2D場景繪圖
- Clobotics 計算機視覺場景儲存實踐:多雲架構、 POSIX 全相容、低運維的統一儲存HB計算機視覺架構運維
- 如何基於MySQL及Redis搭建統一的KV儲存服務MySqlRedis
- 華為雲物件儲存服務OBS教你一招輕鬆解決儲存難題物件
- 服務端指南 資料儲存篇 | 聊聊 Redis 使用場景服務端Redis
- 海量圖片儲存,杉巖分散式物件儲存輕鬆應對分散式物件
- 騰訊雲資料庫應用典型場景及解釋教程資料庫
- 最火UI素材|短視訊、直播APP套件,輕鬆搞定設計UIAPP套件
- 4.5PB!杉巖物件儲存中標天威視訊“中心儲存系統建設”物件
- 阿里雲資料庫Redis正式上線Tair持久儲存系列阿里資料庫RedisAI
- 阿里雲零售資料中臺創新場景 全域人群賦能直播間轉化阿里
- 短視訊系統,獲取camera的的影像並儲存
- Redis vs Tendis:冷熱混合儲存版架構揭秘Redis架構
- 騰訊雲物件儲存 COS搭建個人網站物件網站
- 輕鬆搭建小型網站,騰訊雲輕量應用伺服器全解析網站伺服器
- FmsCms仿六間房秀場主播視訊直播系統 購買加QQ42037803
- 邊緣雲端計算典型應用場景
- hive時間日期函式及典型場景應用Hive函式
- 深度解讀:阿里雲視訊直播重磅功能升級阿里
- GIS場景編輯如何實現?這款免費視覺化工具幫你輕鬆搞定視覺化
- 自建Kubernetes叢集如何使用阿里雲CSI儲存元件阿里元件
- 哪些應用場景能使用摩杜雲物件儲存MOS?物件
- 基於乾元通多卡聚合智慧通訊系統的典型應用場景分析
- 追波神器輕鬆儲存sketch取色器畫板