[閒聊] D4 Beta 雲分析

作者: Portentera (SupP)   2023-03-27 13:31:50
以下都是我自己的心得以及推測
從系統面以及架構面不負責任的分析
先聊聊困難點
接著根據兩週的測試體驗
在遊戲中的一些細節推敲
暴雪是如何辦到的
[困難點1:物理距離延遲]
亞洲與歐美之間的延遲
相信在 D2R, D3 已經深有體會
該如何讓大家在遊戲中
大幅減少延遲造成的不適感
便是全球同服面向玩家最大的困難點
[困難點2:資料同步]
儘管是全球同服
也不可能一座資料庫便能面向全球
而資料如何落地便是一門學問
常見的做法是在各地都建資料庫
最後將資料庫兜成一個集群
讓世界各地不同端點連線
連線時與最近的資料庫進行存取降低延遲
但發生短時間大量存取時
該如何同步到所有的資料庫
也會是巨大的挑戰
D2R 的玩家應該深有體會
逼狗時把三服都搞炸,還發生蠻多次的
就是短時間大量存取,且資料尚未同步造成的
因為歐美玩家跑到亞洲,亞洲玩家跑到歐美
資料無法即時同步,甚至發生腦裂導致資料庫死掉
而處理這種狀況,只能將資料回到某個時間點
才會有玩家反應回溯的情況
[解法:遊戲分流]
遊戲中可以發現到
在路上會巧遇路人玩家
不用組隊便可以一同解地圖事件
尤其在世界王時體會更深刻
分流
將物理距離相對近的玩家聚在一起
既可以降低資料庫的負擔
又可以同時讓玩家遊戲體驗更佳
(距離遠的聚在一起,一定有人要扛高ping)
也就是正常遊玩下
在台灣多數只會遇到中日韓玩家
[衍生問題:地圖載入]
由於遊戲分流造成地圖載入時
有許多狀況需要額外處理
這次有玩家反應
隱形牆、場景&物件未生成(祭壇、怪物等等)
其實就是地圖載入時
遊戲還卡在等待伺服器回應請求(Request)
也就是卡在該把你扔到哪個分流去
才會有先回城再出來就排除狀況的解法
在實務上常見做法還是排隊
只要有合理的隊伍數量(Queue)跟足夠的處理人員(Consumer)
照來說伺服器可以即時消化所有的請求
現今程式開發多會以具平行擴展的集群為基礎架構
概念即統一對外窗口,而且可以喊請支援收銀
而運行程行的系統(或平台)都會有自動擴展的功能
概念就是系統發現人力不足會自動支援收銀,不用在特地廣播
這方面我認為暴雪還在評估該開多少資源處理
畢竟真的很影響遊戲體驗
以上就是我個人不負責任的推論以及分析
至於家機跟跨平台沒接觸到就不通靈了
感謝大家花時間看完我野人獻曝
作者: kazureyesean (none)   2023-03-27 13:45:00
推,應該是內行人,我也感覺到D4的server端的架構跟以前D2D3有很大差異有點奇怪,前面一堆遊戲心得文隨便舉個簡單的點都不會被噓,分析雲端架構就要像論文一樣精彩?
作者: edward198791 (草莓新)   2023-03-27 14:09:00
P大給推

Links booklink

Contact Us: admin [ a t ] ucptt.com