한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

遊戲 Lag 白皮書 › L13 伺服器架構與維運

附屬伺服器故障 Auxiliary service outage

原因 ID in-subservice · 主要負責 遊戲開發團隊(伺服器開發) · 協同 基礎設施團隊(伺服器基礎設施)

在含圖解與實驗的完整版中開啟卡片 →

聊天、隊伍、拍賣場這類與遊戲伺服器分開運作的伺服器故障時,只有那個功能無法運作。

為什麼 功能專用伺服器變慢或掛掉 → 於是 只有該功能的請求沒有回應 → 畫面上 無法聊天、組隊邀請沒反應、交易所無限讀取(戰鬥正常)

症狀
吃指令/回檔, 連不上/無限讀取
因素
停滯, 遺失
誰會遇到
只有特定功能
何時
偶爾隨機發生, 人潮湧入時
負責單位
主要負責 遊戲開發團隊(伺服器開發) · 協同 基礎設施團隊(伺服器基礎設施)
遊戲開發團隊要做的事
設計成即使失敗遊戲也能繼續、顯示各功能的狀態、不把多個功能集中在一台中央伺服器。
基礎設施團隊要做的事
每台附屬伺服器的健康檢查與警示、備援與自動重新啟動。
圖表上
連線同時大量中斷 · 各功能的請求成功率、附屬伺服器的連線數與健康檢查
查看位置
聊天、隊伍、拍賣場等各附屬伺服器的健康檢查、處理程序狀態與連線數,各功能的請求成功率與回應時間。若在負載平衡器後方,看目標群組的 UnHealthyHostCount
符合的跡象
只有負責被回報功能的伺服器出現健康檢查失敗或連線數驟降,遊戲伺服器的 tick 與戰鬥正常
不符合的跡象
多個功能同時停擺時,是一起轉送這些功能的中央伺服器或連鎖故障的問題
確認方式
用基礎設施工具確認(不需要遊戲程式碼)
深入了解
如果隊伍、公會、密語、跨伺服器移動全都由一台中央伺服器(world/manager 伺服器)轉送,這台伺服器一變慢,多個功能就會同時停擺。

出處

  1. Bulkhead Pattern Microsoft Azure
    以資源池隔離元件後,一個元件失敗其他仍能繼續運作,故障也不會擴散
  2. REL05-BP01 Implement graceful degradation to transform applicable hard dependencies into soft dependencies AWS
    AWS Well-Architected。設計成依賴對象故障時,核心功能仍能用稍舊的資料或替代資料繼續運作
  3. CloudWatch metrics for your Network Load Balancer AWS
    UnHealthyHostCount:健康檢查判定為異常的目標數

相關原因

同一層:L13 伺服器架構與維運

同一症狀(吃指令/回檔)在其他層的原因

查看含圖解與實驗的完整版卡片