การกําหนดค่าเราเตอร์เพื่อลองเชื่อมต่อกับตัวประมวลผลข้อความอีกครั้ง

Edge สำหรับ Private Cloud เวอร์ชัน 4.17.05

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

เราเตอร์จะตรวจสอบประสิทธิภาพการทำงานไปยังผู้ประมวลผลข้อความทุก 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 เราเตอร์จะส่งต่อคำขอไปยังผู้ประมวลผลข้อความถัดไป

วิธีกำหนดค่าเราเตอร์

  1. แก้ไขไฟล์ /opt/apigee/customer/application/router.properties (หากไม่มีไฟล์ ให้สร้างขึ้นมา)
  2. เพิ่มพร็อพเพอร์ตี้ conf_load_balancing_load.balancing.driver.nginx.server.retry ตามที่แสดงด้านล่าง
    conf_load_balancing_load.balancing.driver.nginx.server.retry=http_599 error
  3. ตรวจสอบว่าไฟล์พร็อพเพอร์ตี้เป็นของผู้ใช้ "apigee":
    > chown apigee:apigee /opt/apigee/customer/application/router.properties
  4. รีสตาร์ทเราเตอร์โดยทำดังนี้
    > /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 วินาที

วิธีกำหนดค่าเราเตอร์

  1. แก้ไขไฟล์ /opt/apigee/customer/application/router.properties (หากไม่มีไฟล์ ให้สร้างขึ้นมา)
  2. ตั้งค่าพร็อพเพอร์ตี้ตามที่แสดงด้านล่าง
    conf_load_balancing_load.balancing.driver.proxy.read.timeout=120
    conf_load_balancing_load.balancing.driver.nginx.upstream_next_timeout=240
  3. ตรวจสอบว่าไฟล์พร็อพเพอร์ตี้เป็นของผู้ใช้ "apigee":
    > chown apigee:apigee /opt/apigee/customer/application/router.properties
  4. รีสตาร์ทเราเตอร์โดยทำดังนี้
    > /opt/apigee/apigee-service/bin/apigee-service edge-routerควรมีรีสตาร์ท