ทีมต้องทดสอบเส้นทางสำคัญและกรณีล้มเหลวก่อนปล่อยเวอร์ชันใหม่ จึงวินิจฉัยว่า เว็บแอปพลิเคชันใช้ Microservices Architecture โดยแบ่ง Service ออกเป็นหลายส่วน เช่น User Service, Order Service, Payment Service แต่พบปัญหาว่าเมื่อ Payment Service ล่ม Order Service ก็ล้มเหลวตามไปด้วย ควรใช้ Pattern ใดแก้ปัญหา
กObserver Pattern เพื่อให้ Service แจ้งเตือนกันเมื่อมีปัญหา
ขCircuit Breaker Pattern เพื่อหยุดการส่งคำร้องขอไปยัง Service ที่ล้มเหลวชั่วคราวและ Fallback
คFactory Pattern เพื่อสร้าง Service ใหม่ทดแทนอัตโนมัติ
งSingleton Pattern เพื่อให้มี Instance เดียวของแต่ละ Service
เฉลยอธิบาย
Circuit Breaker Pattern คือ Design Pattern สำหรับ Microservices ที่เมื่อ Downstream Service ล้มเหลวเกินเกณฑ์ วงจรจะ 'เปิด' (Open) หยุดส่งคำร้องขอและ Return Fallback Response แทน ป้องกัน Cascading Failure ส่วน A, C, D เป็น Design Pattern ทั่วไปที่ไม่ได้ออกแบบมาสำหรับปัญหานี้