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

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

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

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

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

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

รูปแบบที่ไม่พึงประสงค์

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

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

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

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

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

    แบ็กเอนด์ทำงานช้า

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

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

    ผลกระทบ

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

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

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

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