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

Sách trắng lag game › L13 Kiến trúc và vận hành server

Phụ thuộc service bên ngoài External dependencies (auth, billing, platform)

ID nguyên nhân in-external · Phụ trách chính Bên ngoài (Bên ngoài) · Phối hợp Phát triển server (Đội phát triển game)

Mở thẻ gốc có hình minh họa và thí nghiệm →

Khi service bên ngoài như đăng nhập qua nền tảng, thanh toán, xác thực danh tính chậm hoặc ngừng, người chơi bị kẹt ở đúng bước đó.

Vì sao Service xác thực hoặc thanh toán bên ngoài gặp sự cố hoặc chậm → Dẫn đến Chờ phản hồi ở bước đó → Trên màn hình Không đăng nhập được, thanh toán thất bại. Người đang chơi thì vẫn bình thường

Triệu chứng
Không vào được·kẹt loading, Nuốt thao tác·rollback
Yếu tố
Ngưng trệ
Ai gặp phải
Cả server, Chỉ một tính năng
Khi nào
Ngay sau đăng nhập hoặc bảo trì, Khi làm một thao tác nhất định
Phụ trách
Phụ trách chính Bên ngoài (Bên ngoài) · Phối hợp Phát triển server (Đội phát triển game)
Việc cần làm (Đội phát triển game)
Đặt timeout cho lời gọi ra bên ngoài kèm thông báo dễ hiểu, cache kết quả xác thực, quy trình thử lại và bồi hoàn khi thanh toán lỗi.
Việc cần làm (Bên ngoài)
Yêu cầu nhà cung cấp dịch vụ xác thực, thanh toán, nền tảng xác nhận sự cố và khôi phục, thông báo cho người chơi rằng đây là sự cố của service bên ngoài.
Trên đồ thị
Tăng như bậc thang từ một thời điểm · Thời gian phản hồi và tỷ lệ lỗi của lời gọi ra bên ngoài, số lần đăng nhập thành công
Chỗ cần xem
Thời gian phản hồi, tỷ lệ lỗi, số lần timeout theo từng lời gọi ra bên ngoài như đăng nhập nền tảng, thanh toán, xác thực danh tính, và trang trạng thái của nhà cung cấp
Đúng nếu
từ lúc đăng nhập hoặc thanh toán thất bại dồn lại, chỉ lỗi và timeout của một lời gọi bên ngoài cụ thể tăng lên một bậc rồi giữ nguyên, và trang trạng thái của nhà cung cấp có sự cố vào cùng thời điểm
Loại trừ nếu
lời gọi bên ngoài bình thường mà vẫn không đăng nhập được → xem chính server đăng nhập (cạn thread pool, DB) hoặc hàng chờ kết nối (backlog) của hệ điều hành
Cách kiểm tra
Cần log và chỉ số của server, client game
Sự cố thực tế
Fastly 2021: Fastly: lỗi CDN trên toàn cầu
AWS 2021: AWS us-east-1: tắc nghẽn mạng nội bộ
AWS 2025: AWS us-east-1: sự cố DNS của DynamoDB và quá trình phục hồi kéo dài

Nguồn

  1. Timeouts, retries, and backoff with jitter AWS
    Amazon Builders' Library. Trong lúc chờ phản hồi, tài nguyên như thread, kết nối bị chiếm giữ nên cần đặt timeout; API có tác dụng phụ chỉ nên thử lại khi đã bảo đảm tính idempotent
  2. Circuit Breaker Pattern Microsoft Azure
    Lời gọi có khả năng thất bại cao thì từ chối ngay, không chờ đến timeout, để giữ được thời gian phản hồi
  3. REL05-BP01 Implement graceful degradation to transform applicable hard dependencies into soft dependencies AWS
    AWS Well-Architected. Dù service phụ thuộc gặp sự cố vẫn duy trì tính năng cốt lõi, kể cả bằng dữ liệu hơi cũ (cơ sở cho việc cache kết quả xác thực)

Nguyên nhân nên xem cùng

Cùng tầng: L13 Kiến trúc và vận hành server

Nguyên nhân ở tầng khác gây cùng triệu chứng (Không vào được·kẹt loading)

Xem thẻ gốc có hình minh họa và thí nghiệm