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

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

依賴外部服務 External dependencies (auth, billing, platform)

原因 ID in-external · 主要負責 外部(外部) · 協同 遊戲開發團隊(伺服器開發)

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

平台登入、付款、身分驗證這類外部服務變慢或停擺時,會卡在那個步驟。

為什麼 外部認證、付款服務故障或延遲 → 於是 在該步驟等待回應 → 畫面上 無法登入、付款失敗。已在遊戲中的人正常

症狀
連不上/無限讀取, 吃指令/回檔
因素
停滯
誰會遇到
整個伺服器, 只有特定功能
何時
剛登入/維護剛結束, 做特定動作時
負責單位
主要負責 外部(外部) · 協同 遊戲開發團隊(伺服器開發)
遊戲開發團隊要做的事
外部呼叫設逾時並提供清楚的說明,快取認證結果,建立付款重試與補償流程。
外部要做的事
向認證、付款、平台業者確認故障並要求修復,告知玩家是外部服務故障。
圖表上
從某個時間點起階梯式上升 · 外部呼叫的回應時間與錯誤率、登入成功數
查看位置
平台登入、付款、身分驗證等各外部呼叫的回應時間、錯誤率、逾時次數,以及業者的狀態頁面
符合的跡象
從登入、付款失敗集中的時間點起,只有特定外部呼叫的錯誤與逾時升高一階並維持,業者狀態頁面上同一時間有故障
不符合的跡象
外部呼叫正常但登入卡住時,是登入伺服器本身(執行緒池耗盡、DB)或作業系統的連線等待佇列(backlog)的問題
確認方式
需要遊戲伺服器/用戶端的 log 與指標
實際案例
Fastly 2021: Fastly CDN 全球性錯誤
AWS 2021: AWS us-east-1 內部網路壅塞
AWS 2025: AWS us-east-1 DynamoDB DNS 事故與漫長的復原

出處

  1. Timeouts, retries, and backoff with jitter AWS
    Amazon Builders' Library。等待回應期間會占用執行緒、連線等資源,所以要設逾時;有副作用的 API 只在保證冪等性時才重試
  2. Circuit Breaker Pattern Microsoft Azure
    失敗機率高的呼叫不等到逾時就直接拒絕,守住回應時間
  3. REL05-BP01 Implement graceful degradation to transform applicable hard dependencies into soft dependencies AWS
    AWS Well-Architected。依賴的服務故障時,即使用稍舊的資料也要維持核心功能(快取認證結果的依據)

相關原因

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

同一症狀(連不上/無限讀取)在其他層的原因

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