รับมือกับความล้มเหลวของ downstream service
Payment service ที่อยู่ปลายทางกำลังล้มเหลวซ้ำแล้วซ้ำเล่า การส่งคำขอซ้ำ (retry) สะสมทำให้ระบบโดยรวมเริ่มช้าลงจนแทบรับไม่ไหว Circuit Breaker Simulator จะช่วยให้เห็นว่า breaker ปกป้องระบบในสถานการณ์นี้ได้อย่างไร
ลองทำสิ่งต่อไปนี้ในแอป:
- คลิก Make request (will fail) หลายครั้งติดต่อกัน สังเกตตัวนับความล้มเหลวที่เพิ่มขึ้นจนกระทั่ง breaker เปลี่ยนสถานะเป็น OPEN
- ขณะที่ breaker อยู่ในสถานะ OPEN ให้คลิก Make request ต่อไป สังเกตในบันทึกคำขอว่าแต่ละ call ถูก BLOCKED และไม่มีคำขอใดส่งถึง payment service เลย
- รอให้ cooldown 5 วินาทีหมด breaker จะเปลี่ยนเป็นสถานะ HALF_OPEN และอนุญาตให้ส่งคำขอทดลอง 1 ครั้ง
- จากสถานะ HALF_OPEN ลองคลิก Make successful request เพื่อปิด breaker หรือคลิก Make request (will fail) เพื่อให้ breaker กลับไปอยู่สถานะ OPEN อีกครั้ง
เมื่อสังเกตพฤติกรรมทั้งหมดแล้ว ให้ตอบคำถามต่อไปนี้
คำถาม: ขณะที่ breaker อยู่ในสถานะ OPEN จะเกิดอะไรขึ้นกับคำขอแต่ละรายการที่แอปพลิเคชันส่งไปยัง payment service?
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การพัฒนาแอปพลิเคชันบน AWS
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำจริง
เปลี่ยนทฤษฎีให้เป็นการลงมือทำด้วยแบบฝึกหัดเชิงโต้ตอบหนึ่งในของเรา
เริ่มแบบฝึกหัด