• Netflix ได้ย้ายแอป iOS/Android ไปสู่ GraphQL ในปี 2022 โดยไม่มีดาวน์ไทม์
    • มีการดำเนินงานครั้งใหญ่ครอบคลุมตั้งแต่ฝั่งไคลเอนต์ไปจนถึงชั้น API
  • ก่อนหน้านี้ใช้ Falcor ซึ่งเป็นเฟรมเวิร์ก API ภายใน
  • ปัจจุบันให้บริการแอปมือถือด้วย Federated GraphQL

คำอธิบายแต่ละขั้นของการย้ายระบบ

  • ก่อน GraphQL มีการพัฒนาและดูแล Monolithic Falcor API
  • ระยะที่ 1: สร้างบริการ GraphQL Shim ไว้บน Monolith Falcor API เดิม และทำ AB Testing
  • ระยะที่ 2: เลิกใช้งานบริการ GraphQL Shim และเลกาซี API monolith แล้วนำ Federated GraphQL Gateway มาใช้ พร้อม Replay Testing และ Sticky Canaries

3 กลยุทธ์เพื่อการย้ายระบบอย่างปลอดภัย

  • AB Testing: แยก Falcor กับ GraphQL Shim ออกเป็น AB เพื่อทดสอบ
  • Replay Testing: พัฒนาเครื่องมือ Replay Testing เพื่อตรวจสอบว่า API ถูกย้ายมาอย่างถูกต้อง
  • Sticky Canaries: แยกทราฟฟิกบางส่วนแล้วกำหนดเป็น Canary เพื่อทดสอบไม่ใช่แค่ฟังก์ชัน แต่รวมถึงเมตริกที่หลากหลาย

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น