การแคชการตอบสนองและโควตาการใช้งาน

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

ตั้งค่าการแคชการตอบสนอง

  • เมื่อแคชการตอบสนองแล้ว ไม่จำเป็นต้องเรียกไปยัง backend endpoint
  • การแคชใช้กับ endpoint ยอดนิยมที่มักคืนข้อมูลเดิม
  • การรับส่งข้อมูลไปยัง endpoint ใช้เวลาและค่าใช้จ่ายสูง
  • สามารถกำหนดค่าใน APIM ผ่าน caching policies

การแคชการตอบสนอง

Azure API Management

กำหนดค่าการแคชการตอบสนอง

  • การกำหนดค่า caching policies ช่วยให้:
    • กำหนดระยะเวลาแคช
    • แยกตาม query string หรือ headers
    • กำหนดตำแหน่งของแคช
  • ตำแหน่งแคชเป็นได้ทั้ง:
    • edge หรือ API gateway
    • บริการแคชภายนอก เช่น Redis

Caching policies

Azure API Management

ป้องกัน API จากคำขอที่หลั่งไหลเข้ามา

Rate limiting

  • แม้มีการแคช ผู้ใช้จำนวนมากก็อาจทำให้ API รับโหลดเกินได้
    • ประสิทธิภาพลดลง
    • ต้นทุนทรัพยากรสูงขึ้น
    • กรณีเลวร้ายที่สุด: ระบบล่ม เช่น การโจมตี DDoS
Azure API Management

โควตาการใช้งานปกป้อง API อย่างไร

  • จำกัดจำนวนการเรียกในช่วงเวลาที่กำหนด
    • ช่วยป้องกันคำขอที่เพิ่มขึ้นกะทันหัน
  • ป้องกันการโจมตี DDoS ได้
  • ลดค่าใช้จ่ายจากการใช้งานเกินได้

Azure API Management

วัดการใช้ทรัพยากร

Application Insights

  • สิ่งที่ไม่ได้วัดจะปรับปรุงไม่ได้

    • เปิดใช้ Application Insights เพื่อติดตามเมตริก เช่น latency และค่าผิดปกติ
  • ตัวอย่าง: การเรียก 'GET Products'

    • อัตรา cache hit ต่ำแต่ traffic สูง
    • แนวทาง: เพิ่มระยะเวลาแคช (5 -> 30 นาที)
  • ด้วย insights สามารถปรับแต่ง:

    • ระยะเวลาแคช
    • เกณฑ์โควตา
    • ระดับบริการเพื่อสมดุลต้นทุนและประสิทธิภาพ
Azure API Management

มาฝึกกันเถอะ!

Azure API Management

Preparing Video For Download...