大互動量的網遊,如何實現乙個高效率,易擴充套件,易維護的服務端快取?

時間 2021-06-08 08:01:58

1樓:

效能好:這乙個要求就把無狀態伺服器剔除了。可以在現有基礎上做個熱更方案,動態鏈結庫或 Lua 都可以,資料放在宿主中,業務邏輯放在動態鏈結庫或 Lua 裡,但無論採用哪種方式,開發一定會複雜些

2樓:

在這種需要使用大量資料寫和實時性要求較高的使用場景裡,redis顯然滿足不了你們的需求。

另外,在伺服器記憶體中除了地圖、部分玩家等資料需要首次裝入外,其他資料都可以後台智慧型傳輸不用重啟時裝入記憶體,這樣重新設計後你們伺服器就根本不需要10分鐘重啟時間,最多1-2分鐘之內完全足夠重啟。

3樓:

獲取快取=>如果快取不存在取庫。 這個封裝成函式,業務應該感知不到。

運算元據=>寫資料庫=>寫快取。這個改成只寫快取,然後單獨乙個程序定時寫髒資料到資料庫。

4樓:青盲

這個架構沒必要引入redis,增加架構的複雜性。重啟載入時間達10分鐘的問題應該可以大幅優化,可能不是你資料量大的問題。引入redis並不能解決停服更新的問題。

5樓:

設計的時候是應該把強互動的情景和弱互動的情景隔離開的。

最簡單的方法是實現成開房間機制,國戰開打了,找場景程序開場景例項,玩家全傳進去打。打國戰的過程中玩家互動都是程序內資料訪問。打完了再傳出來,存檔。

如果遊戲有閘道器程序,那這樣實現起來就非常容易,成本很低。

如果沒有,那可以評估下客戶端打國戰的時候多維持一條到場景服的連線的改動風險。

6樓:mingchaoyan

本地快取和 redis都用過,都沒啥問題。而且在設計本地快取的時候,我還設計了buffer功能,定期寫入資料庫,減少資料庫壓力。

看到問題描述,我覺得問題出在

伺服器啟動時需要比較長時間.每次維護一次都至少需要十分鐘以上。而且伺服器有BUG也無法熱更.必須停服維護.而且都要10分鐘以上...

你這是有多大的資料呀?試著重新設計一下,不那麼緊急的資料就等玩家真正需要的時候再讀到快取中。

至少在手遊專案中,我的實踐經驗都是秒起的。

如何能快速 高效 準確的識別乙個P社玩家是大佬 萌新 普通玩家 控制台玩家或雲玩家?

玩群星一開始姿態很低很能苟很能舔的是大佬,一開始就要威脅這個關閉那個邊境的是頭鐵玩家,某聖衛要求交出聖地不交的 和某個菌菇接壤而不自知的 某知管員要人口不給的是萌新 手動滑稽 楊恂懌 一分鐘五個贊同,我可能要火 7.進攻時遇到河流 上一次進攻停止時永遠有乙個橋頭堡的是大佬 幾乎沒有河流問題 用海軍陸...

如何讓乙個35歲的男的戒掉網遊?

我也不針對你,放地圖炮針對所有有這個問題的中年女性朋友。請不要在生活中先放一槍然後拼命畫靶子的行為。你可能還覺得自己很講理,那不叫講理,那只是另一種強詞奪理。然後覺得所有人都針對自己。匿了我老婆也上知乎。類似的問題。在家我都懶得說。膩了。 大火成岩省 人都要找個方式消遣的,網遊在眾多中年男性消遣方式...

如何高效地做出乙個好看的PPT?

子0 看完之後眼睛會了,手不會,哈哈哈哈,看著別人做總覺得好簡單,隨便改改休整就可以了,自己弄起來,哪怕調個線條都覺得花了不少時刻,尤其是布局的思路上,感覺沒有完全沒有布局的想法熟能生巧,還是要多學多練,否則就真的是眼睛會了,手不會! 進步無極限 很多人在做PPT時,都喜歡去找模板,因為這是最簡單,...