คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X ข้อมูล
คำขอ API ที่สร้างโดยแอปพลิเคชันไคลเอ็นต์จะส่งผ่านคอมโพเนนต์ต่างๆ ใน Apigee Edge ก่อนที่จะเข้าถึงบริการแบ็กเอนด์ แอปพลิเคชันไคลเอ็นต์ส่วนใหญ่คาดหวังว่าจะได้รับคำตอบตามคำขอเหล่านี้อย่างทันท่วงที
ค่าระยะหมดเวลา I/O จะได้รับการตั้งค่าในแต่ละคอมโพเนนต์ที่คำขอ API ไหลผ่าน เพื่อให้ได้รับการตอบสนองอย่างทันท่วงที หากคอมโพเนนต์ใดในโฟลว์ใช้เวลานานกว่าคอมโพเนนต์ก่อนหน้า คอมโพเนนต์ก่อนหน้าจะหมดเวลาและตอบกลับด้วยข้อผิดพลาดระยะหมดเวลาของเกตเวย์ 504
ขณะที่กำหนดค่าระยะหมดเวลา คุณควรกำหนดค่าในแต่ละคอมโพเนนต์ด้วยความระมัดระวังสูงสุด ไม่เช่นนั้นอาจทำให้เกิด ข้อผิดพลาดระยะหมดเวลาของเกตเวย์ 504
เอกสารนี้อธิบายแนวทางปฏิบัติแนะนำสำหรับการกำหนดค่าการหมดเวลาของ 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 ทั้งหมดที่แสดงผลโดยผู้ประมวลผลข้อความ
กำหนดค่า (แก้ไข) การหมดเวลา I/O ในเครื่องมือประมวลผลข้อความก็ต่อเมื่อคุณแน่ใจจริงๆ ว่าต้องใช้ค่าระยะหมดเวลา I/O ใหม่หรือใช้ได้สำหรับพร็อกซี API ทั้งหมดที่ทำงานบนตัวประมวลผลข้อความ
ตัวอย่างสถานการณ์
สถานการณ์ต่างๆ ในส่วนนี้ช่วยให้คุณเข้าใจวิธีตั้งค่าระยะหมดเวลา 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 รายการ ให้ใช้แนวทางปฏิบัติแนะนำต่อไปนี้
- แอปพลิเคชันไคลเอ็นต์เป็นองค์ประกอบแรกในโฟลว์ ควรกำหนดค่าระยะหมดเวลา สูงสุดในไคลเอ็นต์
- เซิร์ฟเวอร์แบ็กเอนด์เป็นคอมโพเนนต์สุดท้ายในโฟลว์ ควรตั้งค่าระยะหมดเวลา ต่ำสุดในเซิร์ฟเวอร์แบ็กเอนด์
- กำหนดค่าการหมดเวลาในแต่ละคอมโพเนนต์ รวมถึงคอมโพเนนต์กลางตามลำดับต่อไปนี้
ตัวอย่างต่อไปนี้แสดงค่าระยะหมดเวลาที่ตั้งไว้ในคอมโพเนนต์ต่างๆ ตามหลักเกณฑ์ที่ระบุไว้ข้างต้นเพื่อหลีกเลี่ยงปัญหา