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

คู่มือเกมแลค › L13 สถาปัตยกรรมเซิร์ฟเวอร์และการดูแลระบบ

เซิร์ฟเวอร์เสริมขัดข้อง Auxiliary service outage

ID สาเหตุ in-subservice · ผู้รับผิดชอบหลัก พัฒนาเซิร์ฟเวอร์ (ทีมพัฒนาเกม) · ร่วมกับ อินฟราเซิร์ฟเวอร์ (ทีมอินฟรา)

เปิดการ์ดในฉบับหลักที่มีภาพและการทดลอง →

ถ้าเซิร์ฟเวอร์ที่รันแยกจากเซิร์ฟเวอร์เกม เช่น แชต, ปาร์ตี้ หรือตลาดประมูล ขัดข้อง จะใช้งานไม่ได้เฉพาะฟีเจอร์นั้น

ทำไม เซิร์ฟเวอร์เฉพาะฟีเจอร์ช้าลงหรือล่ม → ผลคือ เฉพาะคำขอของฟีเจอร์นั้นที่ไม่ได้รับคำตอบ → บนหน้าจอ แชตไม่ได้, เชิญปาร์ตี้แล้วไม่มีอะไรเกิดขึ้น, ตลาดซื้อขายโหลดไม่จบ (การต่อสู้ปกติ)

อาการ
กดไม่ติด/โรลแบ็ค, เข้าเกมไม่ได้/โหลดไม่จบ
ปัจจัย
การหยุดชะงัก, แพ็กเก็ตหาย
ใครเจอ
เฉพาะบางฟีเจอร์
เกิดเมื่อไร
สุ่มเป็นครั้งคราว, ตอนคนแห่มารวมกัน
ผู้รับผิดชอบ
ผู้รับผิดชอบหลัก พัฒนาเซิร์ฟเวอร์ (ทีมพัฒนาเกม) · ร่วมกับ อินฟราเซิร์ฟเวอร์ (ทีมอินฟรา)
งานฝั่งทีมพัฒนาเกม
ออกแบบให้เกมเล่นต่อได้แม้ฟีเจอร์นั้นล้มเหลว, แสดงสถานะแยกตามฟีเจอร์, ไม่รวมหลายฟีเจอร์ไว้ที่เซิร์ฟเวอร์กลางเครื่องเดียว
งานฝั่งทีมอินฟรา
health check และ alert แยกตามเซิร์ฟเวอร์เสริม, ทำระบบสำรอง (redundancy) และรีสตาร์ตอัตโนมัติ
บนกราฟ
การเชื่อมต่อหลุดพร้อมกัน · อัตราความสำเร็จของคำขอแยกตามฟีเจอร์, จำนวนการเชื่อมต่อ/health check ของเซิร์ฟเวอร์เสริม
จุดที่ต้องดู
health check, สถานะโปรเซส และจำนวนการเชื่อมต่อของเซิร์ฟเวอร์เสริมแต่ละตัว เช่น แชต, ปาร์ตี้ และตลาดประมูล, อัตราความสำเร็จและเวลาตอบสนองของคำขอแยกตามฟีเจอร์ ถ้าอยู่หลังโหลดบาลานเซอร์ ให้ดู UnHealthyHostCount ของ target group
สัญญาณว่าใช่
เฉพาะเซิร์ฟเวอร์ที่ดูแลฟีเจอร์ที่ถูกแจ้งมาไม่ผ่าน health check หรือจำนวนการเชื่อมต่อดิ่งลง ขณะที่ทิกของเซิร์ฟเวอร์เกมและการต่อสู้ปกติ
สัญญาณว่าไม่ใช่
หลายฟีเจอร์หยุดพร้อมกัน: น่าจะเป็นเซิร์ฟเวอร์กลางที่ส่งต่อฟีเจอร์เหล่านั้นร่วมกัน หรือความล้มเหลวแบบลูกโซ่
วิธีตรวจ
ใช้เครื่องมือฝั่งอินฟรา (ไม่ต้องใช้โค้ดเกม)
รายละเอียดเพิ่มเติม
ถ้าใช้โครงสร้างที่เซิร์ฟเวอร์กลางเครื่องเดียว (เซิร์ฟเวอร์ world/manager) เป็นตัวกลางส่งต่อทั้งปาร์ตี้, กิลด์, กระซิบ และการย้ายข้ามเซิร์ฟเวอร์ เพียงเซิร์ฟเวอร์นั้นช้าลงเครื่องเดียว หลายฟีเจอร์จะหยุดทำงานพร้อมกัน

แหล่งอ้างอิง

  1. Bulkhead Pattern Microsoft Azure
    ถ้าแยกส่วนประกอบไว้คนละ pool เมื่อส่วนหนึ่งล้มเหลว ส่วนที่เหลือยังทำงานต่อได้และเหตุขัดข้องไม่ลามออกไป
  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: จำนวน target ที่ health check ตัดสินว่าผิดปกติ

สาเหตุที่ควรดูประกอบ

ชั้นเดียวกัน: L13 สถาปัตยกรรมเซิร์ฟเวอร์และการดูแลระบบ

สาเหตุจากชั้นอื่นที่ทำให้เกิดอาการเดียวกัน (กดไม่ติด/โรลแบ็ค)

ดูการ์ดในฉบับหลักที่มีภาพและการทดลอง