Integration Patterns: Streaming, Async, Routing & Resilience
ออกแบบ API รอบ FM ให้ตอบไว ไม่ timeout ทนต่อ throttling และสลับโมเดลได้
| ปัญหาในโจทย์ | Pattern ที่ตอบ |
|---|---|
ผู้ใช้รอนาน / timeout กับคำถามยาว | Streaming (ConverseStream + WebSocket/SSE หรือ Amplify AI Kit) |
API Gateway REST timeout (ค่าเริ่มต้น 29 วินาที) กับงานยาว | Async: รับงาน → SQS → worker → แจ้งผล / หรือ streaming |
ThrottlingException ช่วง peak | Exponential backoff + jitter (AWS SDK มีให้), Cross-Region Inference, ขอเพิ่ม quota, Provisioned Throughput |
โมเดลหลักล่ม / ต้อง graceful degradation | Fallback model + circuit breaker ด้วย Step Functions |
Routing rule เปลี่ยนบ่อย ต้องมีผลทันที | AWS AppConfig (feature flags/dynamic config) + Lambda |
Route ตามเนื้อหาคำถามไปโมเดลเฉพาะทาง | Step Functions (Choice state) หรือ classifier FM ตัวเล็ก |
ต้องการ tracing ข้ามหลาย service | AWS X-Ray |
ต้องสลับ FM ตามกฎธุรกิจที่เปลี่ยนทุกชั่วโมง โดยไม่ deploy code ใหม่ และมีผลกับ request ทันที ควรเก็บกฎไว้ที่ไหน?
การดึงความรู้ออกมาใช้ทันทีหลังอ่าน (retrieval practice) ช่วยให้จำได้นานขึ้นมาก