聊聊游戲業務怎麼用高斯Redis

来源:https://www.cnblogs.com/huaweiyun/archive/2023/03/09/17197672.html
-Advertisement-
Play Games

摘要:其實游戲客戶對資料庫的訴求是很明確的,資料庫應當“放心存放心用”。 本文分享自華為雲社區《華為雲GaussDB(for Redis)揭秘第27期:聊聊游戲業務怎麼用高斯Redis》,作者:高斯Redis官方博客。 華為雲資料庫團隊是比較重視技術洞察的,對客戶真實的業務場景也比較看重。年初出差了 ...


摘要:其實游戲客戶對資料庫的訴求是很明確的,資料庫應當“放心存放心用”。

本文分享自華為雲社區《華為雲GaussDB(for Redis)揭秘第27期:聊聊游戲業務怎麼用高斯Redis》,作者:高斯Redis官方博客。

華為雲資料庫團隊是比較重視技術洞察的,對客戶真實的業務場景也比較看重。年初出差了幾次游戲客戶現場,有幸跟客戶的業務開發和運維聊了聊,發現游戲對Redis的應用其實很多。不過一般都會對自建的開源Redis吐槽比較多,其實也都是常見問題了,例如:

痛點1:開源Redis全部數據放記憶體,存不下全量玩家,有成本瓶頸

像玩家裝備、福利活動領取記錄、朋友圈發帖等等,這類數據其實很適合用NoSQL資料庫存儲,擴展性好,性能高。但開源Redis將全量數據載入進記憶體,等到後期玩家持續上量後,成本扛不住,導致騎虎難下。

痛點2:全局大key會導致分片數據傾斜,動不動OOM

全局排行榜、發券搶券都難免會有些使用大Key的場景,這時雖然開源Redis的性能沒啥問題,但由於Redis集群中每個分片能“裝”的數據很少,如果個別Key太大,就很容易會導致數據傾斜,有些分片會經常發生OOM,影響業務。

痛點3:擴容慢,對業務影響大

游戲開服、節假日活動,都需要預置充足資源。開源Redis做擴容會是個麻煩事,由於要跨分片做數據的拷貝,因此往往動輒半小時以上,而且考慮到對業務的影響,客戶只能在半夜實施擴容。

其實,此類問題已經存在很多年了,業界是有一些解法的。比如用SSD替代記憶體的自建KV存儲方案,或者AWS那種比較先進的MemoryDB資料庫服務,都能或多或少解決一些開源Redis的使用痛點。

針對這類游戲場景,華為雲也提供一款足夠靠譜的雲資料庫:GaussDB(for Redis)。

GaussDB(for Redis)是華為雲資料庫團隊在吸取了開源Redis的經驗教訓後,自主研發的KV資料庫,相容開源Redis協議,採用存算分離的架構,提供了很多好用的企業級特性。針對幾種常見的游戲業務痛點,展開來說:

企業級特性1:採用記憶體+NVMe的存儲方案,自動冷熱交換,實現有效降本30%+

使用Redis的場景必然需要資料庫能提供高性能、低時延的有力支撐。GaussDB(for Redis)除了將全量數據落盤到NVMe存儲池外,還支持緩存高頻訪問的熱數據存在記憶體中,內部自動完成冷熱數據交換,通過LRU演算法淘汰冷數據,業務能優先從記憶體中讀取熱數據,最終端到端達成業務對高併發和低時延的訴求。

同時,GaussDB(for Redis)分散式NVMe存儲池具有高壓縮比。根據實際業務測試,string、hash等常用數據類型在GaussDB(for Redis)實際存儲空間占用僅為開源Redis的70%~85%。GaussDB(for Redis)最多可支撐36TB數據存儲,數據量越多,相比開源Redis的成本越低。

企業級特性2:存儲池統一管理全量Key,不會發生數據傾斜,極少OOM,更穩定

開源Redis存儲大key會導致分片記憶體消耗不均,隨著集群整體數據量水位提升,大key所在分片隨時有OOM風險。在擴容和刪除大key時,業務訪問會被阻塞甚至數據丟失。

GaussDB(for Redis)支持大key可靠存儲,且不會導致分片OOM。另外,在GaussDB(for Redis)的控制台WebClient可以輕鬆一鍵進行“大Key診斷”,隨時都能掌握業務使用的大Key情況。

企業級特性3:真正的秒級彈性伸縮,運營節日活動更輕鬆

開源Redis擴縮容涉及數據的拷貝遷移,速度慢,業務中斷時間長。業務在流量突增的場景,需要緊急快速擴容,否則會影響用戶體驗,甚至給客戶帶來經濟損失。

GaussDB(for Redis)採用存算分離的架構,擴容不需要遷移存儲池中的數據,只需將數據分片信息均衡到新增加的計算節點上即可,不涉及遷移數據,可以秒級完成,對業務影響小。

總結

其實游戲客戶對資料庫的訴求是很明確的,資料庫應當“放心存放心用”。GaussDB(for Redis)是一款超越開源Redis的企業級KV資料庫,既能滿足游戲業務對高併發的性能指標要求,且能有效降本增效。後續還會給大家聊聊GaussDB(for Redis)針對其他業務場景的痛點退出的企業級特性,盡請期待。

 

點擊關註,第一時間瞭解華為雲新鮮技術~


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1 文件目錄指令 1 pwd 顯示當前目錄的絕對路徑。 說明當前位置在/home/sora 2 cd 切換到指定目錄。 cd ~ 切換到當前用戶的家目錄:如果當前用戶為root,會切換到/root/,如果當前用戶為普通用戶名字叫做A,會切換到/home/A/。 cd .. 切換到上一級目錄 3 mk ...
  • 可以使用以下方法將Win32視窗設置為透明: 定義視窗類時,在WNDCLASSEX結構體中設置hbrBackground成員為NULL。 在視窗創建時,使用WS_EX_LAYERED風格和SetLayeredWindowAttributes函數將視窗設置為透明: HWND hwnd = Create ...
  • 1 系統運行級別 0:關機1:單用戶【找回丟失密碼】 2:多用戶狀態沒有網路服務3:多用戶狀態有網路服務 4:系統未使用保留給用戶5:圖形界面 6:系統重啟 其中,最常用的為3和5。 有關命令: (1)init :切換不同運行狀態 從 圖形界面 切換 為多用戶狀態有網路服務。 (2)systemct ...
  • 更好地提高效率一直以來是袋鼠雲數棧產品的主要目標之一。當前數棧客戶的實時任務都是基於 Per-Job 模式運行的,客戶在進行一些任務參數的修改之後,只能先取消當前任務,再選擇 CheckPoint 恢復或者重新運行,整個過程需要3-5分鐘,比較浪費時間。為了達到提高效率的目的,我們針對 Per-Jo ...
  • 摘要:本文簡單介紹sequence的使用場景及如何修改sequence的cache值提高性能。 本文分享自華為雲社區《GaussDB(DWS)關於sequence的那些事》,作者:Arrow0lf 。 什麼是sequence sequence,也稱作序列,是用來產生唯一整數的資料庫對象。序列的值按照 ...
  • 導讀 本文將介紹網易數帆在數據治理方面的一些總結和思考。文章將圍繞以下三點展開: 1. 數據治理解決了什麼問題 2. 數據治理體系 3. 淺談數據治理的實現 01數據治理解決了什麼問題 首先看一下數據治理解決了什麼問題,可以總結為六個方面: 1. 數據開發與數據治理脫節 在許多企業中存在這樣一個現象 ...
  • 1 mysql邏輯架構 mysql邏輯架構圖: Mysql伺服器、存儲引擎 是兩個獨立的組件,彼此通過api交互 第一層:連接處理、授權認證、安全管理 第二層:核心服務功能 查詢解析、分析、優化、緩存以及所有的內置函數(日期、時間、數學、加密函數等) 跨存儲引擎的功能:存儲過程、觸發器、視圖等。 第 ...
  • 數據治理是推動大型集團企業轉型升級、提升競爭優勢、實現高質量發展的重要引擎。通過全鏈數據結構化,實現業務對象、業務規則、業務流程數字化,推進全鏈業務深度數字化,夯實數據運營底座。 廈門國貿集團股份有限公司(簡稱“國貿股份”)是國有控股上市公司,同時也是首批全國供應鏈創新與應用示範企業,在“十四五”規 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...