Edge สำหรับ Private Cloud เวอร์ชัน 4.17.09
การกำหนดค่าการตอบสนองของเราเตอร์เมื่อตัวประมวลผลข้อความไม่พร้อมให้บริการระหว่างการตรวจสอบประสิทธิภาพการทำงาน
เราเตอร์จะตรวจสอบประสิทธิภาพการทำงานไปยังผู้ประมวลผลข้อความทุก 5 วินาทีเพื่อพิจารณาว่าผู้ประมวลผลข้อความสามารถให้บริการคำขอได้หรือไม่ ถ้าเครื่องมือประมวลผลข้อความไม่ทำงาน เราเตอร์จะส่งต่อคำขอไปยังผู้ประมวลผลข้อความอื่นโดยอัตโนมัติ
คุณกำหนดค่าวิธีที่เราเตอร์จะตอบสนองเมื่อเครื่องมือประมวลผลข้อความไม่ทำงานได้โดยตั้งค่าพร็อพเพอร์ตี้ conf_load_balancing_load.balancing.driver.nginx.server.retry บนเราเตอร์ พร็อพเพอร์ตี้ดังกล่าวใช้ชุดค่าที่คั่นด้วยช่องว่างซึ่งมีข้อมูลต่อไปนี้
- off: ปิดใช้การลองอีกครั้ง เราเตอร์จะแสดงรหัสความล้มเหลวตามคำขอ
- http_599: (ค่าเริ่มต้น) หากเราเตอร์ได้รับการตอบกลับ HTTP 599 จากผู้ประมวลผลข้อมูลข้อความ เราเตอร์จะส่งต่อคำขอไปยังผู้ประมวลผลข้อความถัดไป
HTTP 599 คือรหัสตอบกลับพิเศษที่ผู้ประมวลผลข้อความสร้างขึ้นเมื่อมีการปิดเครื่อง ผู้ประมวลผลข้อความจะพยายามทำตามคำขอที่มีอยู่ทั้งหมด แต่สำหรับคำขอใหม่จะตอบกลับด้วย HTTP 599 เพื่อส่งสัญญาณไปยังเราเตอร์ให้ลองส่งคำขออีกครั้งในเครื่องมือประมวลผลข้อความถัดไป - error: หากเกิดข้อผิดพลาดขณะเริ่มต้นการเชื่อมต่อกับผู้ประมวลผลข้อความ ส่งคำขอไปยังตัวประมวลผลข้อความ หรืออ่านส่วนหัวการตอบกลับ เราเตอร์จะส่งต่อคำขอไปยังผู้ประมวลผลข้อความถัดไป
- timeout (หมดเวลา): หากการหมดเวลาเกิดขึ้นขณะเริ่มต้นการเชื่อมต่อกับเครื่องมือประมวลผลข้อความ ส่งผ่านคำขอไปยังโปรแกรมประมวลผลข้อความ หรืออ่านส่วนหัวการตอบกลับ เราเตอร์จะส่งต่อคำขอไปยังผู้ประมวลผลข้อความถัดไป
- invalid_header: หากผู้ประมวลผลข้อความแสดงการตอบกลับที่ว่างเปล่าหรือไม่ถูกต้อง เราเตอร์จะส่งต่อคําขอไปยังผู้ประมวลผลข้อความคนถัดไป
- http_XXX: หากผู้ประมวลผลข้อความแสดงการตอบกลับด้วยรหัส HTTP XXX เราเตอร์จะส่งต่อคำขอไปยังผู้ประมวลผลข้อความถัดไป
วิธีกำหนดค่าเราเตอร์
- แก้ไขไฟล์ /opt/apigee/customer/application/router.properties (หากไม่มีไฟล์ ให้สร้างขึ้นมา)
- เพิ่มพร็อพเพอร์ตี้ conf_load_balancing_load.balancing.driver.nginx.server.retry ตามที่แสดงด้านล่าง
conf_load_balancing_load.balancing.driver.nginx.server.retry=http_599 error - ตรวจสอบว่าไฟล์พร็อพเพอร์ตี้เป็นของผู้ใช้ "apigee":
> chown apigee:apigee /opt/apigee/customer/application/router.properties - รีสตาร์ทเราเตอร์โดยทำดังนี้
> /opt/apigee/apigee-service/bin/apigee-service edge-routerควรมีรีสตาร์ท
การกำหนดค่าการหมดเวลาของเราเตอร์เมื่อเข้าถึง Message Processor ซึ่งเป็นส่วนหนึ่งของคำขอพร็อกซี API
Edge Router มีระยะหมดเวลาที่กำหนดล่วงหน้าอยู่ที่ 57 วินาทีเมื่อพยายามเข้าถึงเครื่องมือประมวลผลข้อความเพื่อจัดการคำขอผ่านพร็อกซี API เมื่อการหมดเวลาดังกล่าวหมดอายุ เราเตอร์จะพยายามเชื่อมต่อกับผู้ประมวลผลข้อมูลข้อความอื่น หากมี มิฉะนั้นระบบจะแสดงข้อผิดพลาด
คุณใช้พร็อพเพอร์ตี้ 2 รายการเพื่อควบคุมระยะหมดเวลานี้ได้
- conf_load_balancing_load.balancing.driver.proxy.read.timeout ระบุเวลารอในหน่วยวินาทีสำหรับตัวประมวลผลข้อความเดียว ค่าเริ่มต้นคือ 57 วินาที
- conf_load_balancing_load.balancing.driver.nginx.upstream_next_timeout ระบุเวลารอรวมสำหรับตัวประมวลผลข้อความทั้งหมดในหน่วยวินาทีเมื่อการติดตั้ง Edge มีตัวประมวลผลข้อความหลายตัว ซึ่งมีค่าเริ่มต้นของค่าปัจจุบันเป็น conf_load_balancing_load.balancing.driver.proxy.read.timeout หรือ 57 วินาที
วิธีกำหนดค่าเราเตอร์
- แก้ไขไฟล์ /opt/apigee/customer/application/router.properties (หากไม่มีไฟล์ ให้สร้างขึ้นมา)
- ตั้งค่าพร็อพเพอร์ตี้ตามที่แสดงด้านล่าง
conf_load_balancing_load.balancing.driver.proxy.read.timeout=120
conf_load_balancing_load.balancing.driver.nginx.upstream_next_timeout=240 - ตรวจสอบว่าไฟล์พร็อพเพอร์ตี้เป็นของผู้ใช้ "apigee":
> chown apigee:apigee /opt/apigee/customer/application/router.properties - รีสตาร์ทเราเตอร์โดยทำดังนี้
> /opt/apigee/apigee-service/bin/apigee-service edge-routerควรมีรีสตาร์ท