Antipattern: อนุญาตแบ็กเอนด์ที่ช้า

คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X
ข้อมูล

ระบบแบ็กเอนด์จะเรียกใช้บริการที่พร็อกซี API เข้าถึง กล่าวอีกนัยหนึ่งคือ เหตุผลพื้นฐานสำหรับการมี API และเลเยอร์พร็อกซีการจัดการ API อยู่มาก

คำขอ API ใดก็ตามที่กำหนดเส้นทางผ่านแพลตฟอร์ม Edge จะข้ามผ่านเส้นทางทั่วไปก่อนที่จะเข้าสู่แบ็กเอนด์ ดังนี้

  • คำขอมาจากไคลเอ็นต์ ซึ่งอาจเป็นอะไรก็ได้จากเบราว์เซอร์ไปยังแอป
  • จากนั้นเกตเวย์ Edge จะได้รับคำขอดังกล่าว
  • ระบบจะประมวลผลภายในเกตเวย์ ในฐานะส่วนหนึ่งของการประมวลผลนี้ คำขอจะส่งผ่านไปยังคอมโพเนนต์ที่กระจายจำนวนหนึ่ง
  • จากนั้นเกตเวย์จะกำหนดเส้นทางคำขอไปยังแบ็กเอนด์ที่ตอบกลับคำขอนั้น
  • การตอบสนองจากแบ็กเอนด์จะข้ามผ่านเส้นทางย้อนกลับที่แน่นอนผ่านทางเกตเวย์ Edge กลับไปยังไคลเอ็นต์

ประสิทธิภาพของคำขอ API ที่กำหนดเส้นทางผ่าน Edge จะขึ้นอยู่กับระบบ Edge และระบบแบ็กเอนด์ ในการลดรูปแบบนี้ เราจะเน้นเรื่องผลกระทบต่อคำขอ API เนื่องจากระบบแบ็กเอนด์มีประสิทธิภาพไม่ดี

ลายป้องกัน

เราจะพิจารณาถึงกรณีของแบ็กเอนด์ที่มีปัญหา สาเหตุที่เป็นไปได้มีดังนี้

  • แบ็กเอนด์ที่มีขนาดไม่เพียงพอ
  • แบ็กเอนด์ที่ช้า
  • แบ็กเอนด์มีขนาดไม่เพียงพอ

    ความท้าทายในการแสดงบริการต่างๆ ในระบบแบ็กเอนด์เหล่านี้ผ่าน API คือบริการเหล่านั้นจะเข้าถึงได้โดยผู้ใช้ปลายทางจำนวนมาก จากมุมมองทางธุรกิจ นี่เป็นความท้าทายที่ควรเป็น แต่จะต้องจัดการให้ได้

    หลายๆ ครั้งระบบแบ็กเอนด์ไม่ได้เตรียมพร้อมสำหรับความต้องการเพิ่มเติมของบริการนั้น และส่งผลให้มีขนาดเล็กหรือไม่มีการตอบสนองที่มีประสิทธิภาพ

    ปัญหาของแบ็กเอนด์ที่ "ขนาดไม่เพียงพอ" คือ หากคำขอ API เพิ่มขึ้นอย่างฉับพลัน ระบบจะทำให้ทรัพยากร เช่น CPU, ภาระงาน และหน่วยความจำในระบบแบ็กเอนด์เพิ่มขึ้น ซึ่งจะทำให้คำขอ API ล้มเหลวในที่สุด

    แบ็กเอนด์ที่ช้า

    ปัญหาของแบ็กเอนด์ที่มีการปรับแต่งอย่างไม่ถูกต้องคือการตอบกลับคำขอใดๆ ก็ตามที่มาถึงจะช้ามาก จึงทำให้เกิดเวลาในการตอบสนองเพิ่มขึ้น การหมดเวลาก่อนกำหนด และประสบการณ์ของลูกค้าที่ถูกบุกรุก

    แพลตฟอร์ม Edge มีตัวเลือกที่ปรับแต่งได้จำนวนหนึ่งเพื่อหลีกเลี่ยงและจัดการแบ็กเอนด์ที่ช้า แต่ตัวเลือกเหล่านี้มีข้อจำกัด

    มีอิทธิพล

    • ในกรณีที่แบ็กเอนด์มีขนาดไม่เพียงพอ การเพิ่มขึ้นของการเข้าชมอาจทำให้คำขอล้มเหลวได้
    • ในกรณีที่แบ็กเอนด์ที่ช้า เวลาในการตอบสนองของคำขอจะเพิ่มขึ้น

    แนวทางปฏิบัติแนะนำ

    • ใช้การแคชเพื่อจัดเก็บคำตอบเพื่อปรับปรุงเวลาตอบกลับของ API และลดภาระงานในเซิร์ฟเวอร์แบ็กเอนด์
    • แก้ไขปัญหาสำคัญในเซิร์ฟเวอร์แบ็กเอนด์ที่ทำงานช้า

    อ่านเพิ่มเติม