คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่
เอกสารประกอบของ Apigee X info
คำขอ API ที่แอปพลิเคชันไคลเอ็นต์ส่งมาจะไหลผ่านคอมโพเนนต์ต่างๆ ใน Apigee Edge ก่อนที่จะไปถึงบริการแบ็กเอนด์ แอปพลิเคชันไคลเอ็นต์ส่วนใหญ่คาดหวังว่าจะได้รับการตอบกลับคำขอเหล่านี้ อย่างทันท่วงที
เพื่อให้ได้รับการตอบกลับอย่างทันท่วงที ระบบจะตั้งค่าการหมดเวลา I/O ในคอมโพเนนต์แต่ละรายการที่คำขอ API ไหลผ่าน หากคอมโพเนนต์ใดคอมโพเนนต์หนึ่งในโฟลว์ใช้เวลานานกว่าคอมโพเนนต์ก่อนหน้า คอมโพเนนต์ก่อนหน้าจะหมดเวลาและตอบกลับด้วย ข้อผิดพลาด 504 Gateway Timeout
ขณะกำหนดค่าการหมดเวลา คุณควรกำหนดค่าในคอมโพเนนต์แต่ละรายการด้วย ความระมัดระวังอย่างยิ่ง ไม่เช่นนั้นอาจทำให้เกิด ข้อผิดพลาด 504 Gateway Timeout
เอกสารนี้อธิบายแนวทางปฏิบัติแนะนำสำหรับการกำหนดค่าการหมดเวลา I/O ในคอมโพเนนต์ต่างๆ ที่ คำขอ API ไหลผ่านใน Apigee Edge
แนวทางปฏิบัติแนะนำสำหรับการกำหนดค่าการหมดเวลา I/O
พิจารณาแนวทางปฏิบัติแนะนำต่อไปนี้เมื่อกำหนดค่าการหมดเวลา I/O
- คอมโพเนนต์แรก: ใช้การหมดเวลาสูงสุดกับคอมโพเนนต์แรกในโฟลว์คำขอ API ซึ่งก็คือแอปพลิเคชันไคลเอ็นต์ใน Apigee Edge
- คอมโพเนนต์สุดท้าย: ใช้การหมดเวลาต่ำสุดกับคอมโพเนนต์สุดท้ายในโฟลว์คำขอ API ซึ่งก็คือบริการแบ็กเอนด์ใน Apigee Edge เสมอ
- ระหว่างคอมโพเนนต์: ตรวจสอบว่าค่าการหมดเวลาที่กำหนดค่าในคอมโพเนนต์แต่ละรายการระหว่างคอมโพเนนต์แรกกับคอมโพเนนต์สุดท้ายในโฟลว์แตกต่างกันอย่างน้อย 2-3 วินาที
- เราเตอร์: แนวทางปฏิบัติแนะนำคือการกำหนดค่า (แก้ไข) ค่าการหมดเวลา I/O สำหรับ
โฮสต์เสมือนที่เฉพาะเจาะจงแทนการกำหนดค่าในเราเตอร์ วิธีนี้จะช่วยให้ค่าการหมดเวลาใหม่
ส่งผลเฉพาะพร็อกซี API ที่ใช้โฮสต์เสมือนที่เฉพาะเจาะจงเท่านั้น และ
ไม่ใช่พร็อกซี API ทั้งหมดที่เราเตอร์ให้บริการ
กำหนดค่า (แก้ไข) การหมดเวลา I/O ในเราเตอร์เฉพาะเมื่อคุณมั่นใจอย่างยิ่งว่าจำเป็นต้องใช้ค่าการหมดเวลา I/O ใหม่หรือค่าดังกล่าวใช้ได้กับพร็อกซี API ทั้งหมดที่ทำงานในเราเตอร์
- ตัวประมวลผลข้อความ: แนวทางปฏิบัติแนะนำคือการกำหนดค่า (แก้ไข) ค่าการหมดเวลา I/O
สำหรับพร็อกซี API ที่เฉพาะเจาะจงแทนการกำหนดค่าในตัวประมวลผลข้อความ วิธีนี้จะช่วยให้ค่าการหมดเวลาใหม่ส่งผลเฉพาะพร็อกซี API ที่เฉพาะเจาะจงเท่านั้น ไม่ใช่พร็อกซี API ทั้งหมดที่ Message Processor ให้บริการ
กำหนดค่า (แก้ไข) การหมดเวลา I/O ใน Message Processor เฉพาะเมื่อคุณมั่นใจอย่างยิ่ง ว่าจำเป็นต้องใช้ค่าการหมดเวลา I/O ใหม่หรือค่าดังกล่าวใช้ได้กับพร็อกซี API ทั้งหมดที่ทำงานใน Message Processor
ตัวอย่างสถานการณ์
สถานการณ์ในส่วนนี้จะช่วยให้คุณเข้าใจวิธีตั้งค่าการหมดเวลา I/O อย่างถูกต้อง
สถานการณ์ที่ 1: คำขอจากแอปพลิเคชันไคลเอ็นต์ไปยัง Apigee Edge โดยตรง
ส่วนนี้อธิบายแนวทางปฏิบัติแนะนำที่ควรปฏิบัติตามขณะตั้งค่าการหมดเวลาในการตั้งค่า Apigee Edge ที่ไม่มีคอมโพเนนต์ระดับกลางระหว่างแอปพลิเคชันไคลเอ็นต์กับ Apigee Edge และระหว่าง Apigee Edge กับเซิร์ฟเวอร์แบ็กเอนด์
ตัวอย่างการตั้งค่า Apigee ที่ไม่มีคอมโพเนนต์ระดับกลาง
หากตั้งค่า Apigee Edge ตามที่แสดงในแผนภาพด้านบนโดยไม่มีคอมโพเนนต์ระดับกลาง ให้ใช้แนวทางปฏิบัติแนะนำต่อไปนี้
- แอปพลิเคชันไคลเอ็นต์เป็นคอมโพเนนต์แรกในโฟลว์ ควรตั้งค่าการหมดเวลาสูงสุด ในไคลเอ็นต์
- เซิร์ฟเวอร์แบ็กเอนด์เป็นคอมโพเนนต์สุดท้ายในโฟลว์ ควรตั้งค่าการหมดเวลาต่ำสุด ในเซิร์ฟเวอร์แบ็กเอนด์
- กำหนดค่าการหมดเวลาในคอมโพเนนต์แต่ละรายการตามลำดับต่อไปนี้
ตัวอย่างต่อไปนี้แสดงค่าการหมดเวลาที่ตั้งค่าในคอมโพเนนต์ต่างๆ ตามหลักเกณฑ์ ที่ระบุไว้ข้างต้นเพื่อหลีกเลี่ยงปัญหา
สถานการณ์ที่ 2: คำขอจากแอปพลิเคชันไคลเอ็นต์ไปยัง Apigee Edge ผ่านคอมโพเนนต์ระดับกลาง
ส่วนนี้อธิบายแนวทางปฏิบัติแนะนำที่ควรปฏิบัติตามขณะตั้งค่าการหมดเวลาในการตั้งค่า Apigee Edge ที่มีคอมโพเนนต์ระดับกลางอย่างน้อย 1 รายการระหว่างแอปพลิเคชันไคลเอ็นต์ กับ Apigee Edge และระหว่าง Apigee Edge กับเซิร์ฟเวอร์แบ็กเอนด์
คอมโพเนนต์ระดับกลางอาจเป็นตัวจัดสรรภาระงาน เครือข่ายนำส่งข้อมูล (CDN), NGINX และอื่นๆ
ตัวอย่างการตั้งค่า Apigee ที่มีคอมโพเนนต์ระดับกลาง 1 รายการระหว่างไคลเอ็นต์กับ Apigee Edge และระหว่าง Apigee Edge กับเซิร์ฟเวอร์แบ็กเอนด์
หากตั้งค่า Apigee Edge ตามที่แสดงในแผนภาพด้านบนโดยมีคอมโพเนนต์ระดับกลางอย่างน้อย 1 รายการ ให้ใช้แนวทางปฏิบัติแนะนำต่อไปนี้
- แอปพลิเคชันไคลเอ็นต์เป็นคอมโพเนนต์แรกในโฟลว์ ควรตั้งค่าการหมดเวลา สูงสุด ในไคลเอ็นต์
- เซิร์ฟเวอร์แบ็กเอนด์เป็นคอมโพเนนต์สุดท้ายในโฟลว์ ควรตั้งค่าการหมดเวลา ต่ำสุด ในเซิร์ฟเวอร์แบ็กเอนด์
- กำหนดค่าการหมดเวลาในคอมโพเนนต์แต่ละรายการ รวมถึงคอมโพเนนต์ระดับกลาง ตามลำดับต่อไปนี้
ตัวอย่างต่อไปนี้แสดงค่าการหมดเวลาที่ตั้งค่าในคอมโพเนนต์ต่างๆ ตามหลักเกณฑ์ ที่ระบุไว้ข้างต้นเพื่อหลีกเลี่ยงปัญหา