คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่
เอกสารประกอบเกี่ยวกับ Apigee X. ข้อมูล
เอกสารนี้อธิบายวิธีกำหนดค่าระยะหมดเวลา I/O สำหรับ Apigee Edge Message Processor
การหมดเวลา I/O บนตัวประมวลผลข้อความแสดงเวลาที่ตัวประมวลผลข้อความ รอรับการตอบกลับจากเซิร์ฟเวอร์แบ็กเอนด์หรือซ็อกเก็ตพร้อมที่จะเขียน ไปยังเซิร์ฟเวอร์แบ็กเอนด์ก่อนที่จะหมดเวลา
ค่าเริ่มต้นการหมดเวลา I/O ของตัวประมวลผลข้อความคือ 55 seconds
การหมดเวลานี้
ใช้ได้
ไปยังเซิร์ฟเวอร์แบ็กเอนด์ที่กําหนดค่าไว้ในการกําหนดค่าปลายทางเป้าหมายและใน Serviceข้อความไฮไลต์
ของพร็อกซี API
การหมดเวลา I/O สำหรับตัวประมวลผลข้อความสามารถเพิ่มหรือลดจากค่าเริ่มต้น
55 seconds
ขึ้นอยู่กับความต้องการของคุณ คุณสามารถกําหนดค่าได้จากที่ต่อไปนี้
- ในพร็อกซี API
- ปลายทางเป้าหมาย
- นโยบายคำขอราคาเสนอบริการ
- ในตัวประมวลผลข้อความ
พร็อพเพอร์ตี้ต่อไปนี้จะควบคุมการหมดเวลา I/O บนตัวประมวลผลข้อความ
ชื่อพร็อพเพอร์ตี้ | ตำแหน่ง | คำอธิบาย |
---|---|---|
io.timeout.millis
|
พร็อกซี API:
|
นี่คือเวลาสูงสุดที่โปรแกรมประมวลผลข้อความจะดำเนินการต่อไปนี้:
หากไม่มีการตอบสนองจากเซิร์ฟเวอร์แบ็กเอนด์ภายในระยะหมดเวลานี้ ฟังก์ชัน โปรแกรมประมวลผลข้อความหมดเวลา
โดยค่าเริ่มต้น พร็อพเพอร์ตี้นี้จะใช้ค่าที่กำหนดไว้สำหรับ
พร็อพเพอร์ตี้ หากมีการแก้ไขพร็อพเพอร์ตี้นี้ด้วยค่าระยะหมดเวลาใหม่สำหรับพร็อกซี API ที่เจาะจง จะมีเฉพาะพร็อกซี API นั้นที่ได้รับผลกระทบ |
HTTPTransport.io.timeout.millis
|
Message Processor |
นี่คือเวลาสูงสุดที่โปรแกรมประมวลผลข้อความจะดำเนินการต่อไปนี้:
หากไม่มีการตอบสนองจากเซิร์ฟเวอร์แบ็กเอนด์ภายในระยะหมดเวลานี้ ฟังก์ชัน โปรแกรมประมวลผลข้อความหมดเวลา คุณสมบัตินี้ใช้กับพร็อกซี API ทั้งหมดที่ทำงานในโปรแกรมประมวลผลข้อความนี้
ค่าเริ่มต้นของคุณสมบัตินี้คือ
คุณสามารถแก้ไขพร็อพเพอร์ตี้นี้ได้ตามที่อธิบายไว้ใน
การกำหนดค่าระยะหมดเวลา I/O บนตัวประมวลผลข้อความ หรือคุณสามารถ
เขียนทับค่านี้ด้วยการตั้งค่าพร็อพเพอร์ตี้ |
ก่อนเริ่มต้น
ก่อนที่จะใช้ขั้นตอนในเอกสารนี้ โปรดทำความเข้าใจหัวข้อต่อไปนี้
- หากไม่คุ้นเคยกับการหมดเวลา I/O โปรดดูพร็อพเพอร์ตี้
io.timeout.millis
คำอธิบายในภาษา ข้อกำหนดของพร็อพเพอร์ตี้ Transport Endpoint - หากคุณไม่คุ้นเคยกับการกำหนดค่าพร็อพเพอร์ตี้สำหรับ Edge สำหรับ Private Cloud โปรดอ่าน วิธีกำหนดค่า Edge
- ตรวจสอบว่าคุณได้ทำตามคำแนะนำใน แนวทางปฏิบัติแนะนำสำหรับการกำหนดค่าระยะหมดเวลาของ I/O
การกำหนดค่าการหมดเวลา I/O ในพร็อกซี API
สามารถกำหนดค่าระยะหมดเวลา I/O ได้ในตำแหน่งพร็อกซี API ต่อไปนี้
- ปลายทางเป้าหมาย
- นโยบายคำขอราคาเสนอบริการ
การกำหนดค่าระยะหมดเวลา I/O ในปลายทางเป้าหมายของพร็อกซี API
ส่วนนี้จะอธิบายวิธีกำหนดค่าระยะหมดเวลา I/O ในปลายทางเป้าหมายของพร็อกซี API
ระยะหมดเวลาของ I/O สามารถกำหนดค่าได้ผ่านพร็อพเพอร์ตี้ io.timeout.millis
ซึ่ง
แสดงค่าการหมดเวลา I/O ในหน่วยมิลลิวินาที
- ใน Edge UI ให้เลือกพร็อกซี API เฉพาะที่คุณต้องการกำหนดค่าพร็อกซีใหม่ ค่าการหมดเวลา I/O
- เลือกปลายทางเป้าหมายที่ต้องการแก้ไข
- เพิ่มพร็อพเพอร์ตี้
io.timeout.millis
ด้วยค่าที่เหมาะสมภายใต้ องค์ประกอบ<HTTPTargetConnection>
ในการกำหนดค่าTargetEndpoint
- บันทึกการเปลี่ยนแปลงที่ทำในพร็อกซี API
ตัวอย่างเช่น หากต้องการเปลี่ยนระยะหมดเวลา I/O เป็น 120 วินาที ให้เพิ่มบล็อกโค้ดต่อไปนี้
<Properties> <Property name="io.timeout.millis">120000</Property> </Properties>
เนื่องจากพร็อพเพอร์ตี้ io.timeout.millis
อยู่ในหน่วยมิลลิวินาที ค่าสำหรับ
120 วินาทีเท่ากับ 120000
ตัวอย่างต่อไปนี้แสดงวิธีกำหนดค่าระยะหมดเวลา I/O ในปลายทางเป้าหมาย การกำหนดค่าพร็อกซี API
ตัวอย่างการกำหนดค่าปลายทางเป้าหมายโดยใช้ URL สำหรับเซิร์ฟเวอร์แบ็กเอนด์
<TargetEndpoint name="default"> <HTTPTargetConnection> <URL>https://mocktarget.apigee.net/json</URL> <Properties> <Property name="io.timeout.millis">120000</Property> </Properties> </HTTPTargetConnection> </TargetEndpoint>
ตัวอย่างการกำหนดค่าปลายทางเป้าหมายโดยใช้เซิร์ฟเวอร์เป้าหมาย
<TargetEndpoint name="default"> <HTTPTargetConnection> <LoadBalancer> <Server name="target1" /> <Server name="target2" /> </LoadBalancer> <Properties> <Property name="io.timeout.millis">120000</Property> </Properties> <Path>/test</Path> </HTTPTargetConnection> </TargetEndpoint>
การกำหนดค่าระยะหมดเวลา I/O ในนโยบาย ServiceCall ของพร็อกซี API
ส่วนนี้อธิบายวิธีกำหนดค่าระยะหมดเวลา I/O ในนโยบาย Serviceข้อความไฮไลต์
พร็อกซี API กำหนดค่าระยะหมดเวลา I/O ได้ผ่านองค์ประกอบ <Timeout>
หรือพร็อพเพอร์ตี้ io.timeout.millis
ทั้งองค์ประกอบ <Timeout>
และ
พร็อพเพอร์ตี้ io.timeout.millis
แสดงค่าระยะหมดเวลาของ I/O ในหน่วยมิลลิวินาที
คุณสามารถกำหนดค่าระยะหมดเวลา I/O ในนโยบาย Serviceข้อความไฮไลต์ โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้
- องค์ประกอบ
<Timeout>
- พร็อพเพอร์ตี้
io.timeout.millis
องค์ประกอบระยะหมดเวลา
หากต้องการกำหนดค่าระยะหมดเวลา I/O ในนโยบาย ServiceCall โดยใช้ <Timeout>
ให้ดำเนินการดังนี้
- ใน Edge UI ให้เลือกพร็อกซี API เฉพาะที่คุณต้องการกำหนดค่า ค่าระยะหมดเวลา I/O ใหม่สำหรับนโยบาย Serviceข้อความไฮไลต์
- เลือกนโยบาย Serviceข้อความไฮไลต์ที่คุณต้องการแก้ไข
- เพิ่มองค์ประกอบ
<Timeout>
ด้วยค่าที่เหมาะสมใต้ การกำหนดค่า<ServiceCallout>
ตัวอย่างเช่น หากต้องการเปลี่ยนระยะหมดเวลา I/O เป็น 120 วินาที ให้เพิ่มบรรทัดโค้ดต่อไปนี้
<Timeout>120000</Timeout>
เนื่องจากองค์ประกอบ
<Timeout>
อยู่ในหน่วยมิลลิวินาที ค่าสำหรับ 120 วินาทีเท่ากับ120000
ตัวอย่างต่อไปนี้แสดงวิธีกำหนดค่าระยะหมดเวลา I/O ใน Serviceข้อความไฮไลต์ นโยบายที่ใช้องค์ประกอบ
<Timeout>
:ตัวอย่างการกำหนดค่านโยบายคำขอราคาเสนอบริการโดยใช้ URL สำหรับเซิร์ฟเวอร์แบ็กเอนด์
<ServiceCallout name="Service-Callout-1"> <DisplayName>ServiceCallout-1</DisplayName> <Timeout>120000</Timeout> <HTTPTargetConnection> <Properties/> <URL>https://mocktarget.apigee.net/json</URL> </HTTPTargetConnection> </ServiceCallout>
- บันทึกการเปลี่ยนแปลงที่ทำในพร็อกซี API
พร็อพเพอร์ตี้ io.timeout.millis
หากต้องการกำหนดค่าระยะหมดเวลา I/O ในนโยบาย Serviceข้อความไฮไลต์ โดยใช้เมธอด
พร็อพเพอร์ตี้ io.timeout.millis
ให้ทำดังนี้
- ใน Edge UI ให้เลือกพร็อกซี API ที่ต้องการกำหนดค่า ค่าระยะหมดเวลา I/O ใหม่สำหรับนโยบาย Serviceข้อความไฮไลต์
- เลือกนโยบาย Serviceข้อความไฮไลต์ที่คุณต้องการแก้ไข
- เพิ่มพร็อพเพอร์ตี้
io.timeout.millis
ด้วยค่าที่เหมาะสมภายใต้ องค์ประกอบ<HTTPTargetConnection>
ในการกำหนดค่า TargetEndpointตัวอย่างเช่น หากต้องการเปลี่ยนระยะหมดเวลา I/O เป็น 120 วินาที ให้เพิ่มบล็อกต่อไปนี้ ของโค้ด ได้แก่
<Properties> <Property name="io.timeout.millis">120000</Property> </Properties>
เนื่องจากพร็อพเพอร์ตี้
io.timeout.millis
อยู่ในหน่วยมิลลิวินาที ค่าสำหรับ 120 วินาทีเท่ากับ120000
ตัวอย่างต่อไปนี้แสดงวิธีกำหนดค่าระยะหมดเวลา I/O ในปลายทางเป้าหมาย การกำหนดค่าพร็อกซี API
ตัวอย่างการกำหนดค่านโยบายคำขอราคาเสนอบริการโดยใช้ URL สำหรับเซิร์ฟเวอร์แบ็กเอนด์
<ServiceCallout name="Service-Callout-1"> <DisplayName>ServiceCallout-1</DisplayName> <HTTPTargetConnection> <Properties> <Property name="io.timeout.millis">120000</Property> </Properties> <URL>https://mocktarget.apigee.net/json</URL> </HTTPTargetConnection> </ServiceCallout>
ตัวอย่างการกำหนดค่านโยบายคำขอราคาเสนอบริการโดยใช้เซิร์ฟเวอร์เป้าหมาย
<ServiceCallout enabled="true" name="Service-Callout-1"> <DisplayName>ServiceCallout-1</DisplayName> <Response>calloutResponse</Response> <HTTPTargetConnection> <LoadBalancer> <Server name="target1" /> <Server name="target2" /> </LoadBalancer> <Properties> <Property name="io.timeout.millis">120000</Property> </Properties> <Path>/test</Path> </HTTPTargetConnection> </ServiceCallout>
- บันทึกการเปลี่ยนแปลงที่ทำในพร็อกซี API
การกำหนดค่าระยะหมดเวลา I/O บนตัวประมวลผลข้อความ
ส่วนนี้จะอธิบายวิธีกำหนดค่าระยะหมดเวลา I/O ในตัวประมวลผลข้อความ
ระยะหมดเวลาของ I/O สามารถกำหนดค่าได้ผ่านพร็อพเพอร์ตี้ HTTPTransport.io.timeout.millis
ซึ่งแสดงค่าการหมดเวลา I/O เป็นมิลลิวินาทีในคอมโพเนนต์ Message Processor
โดยใช้โทเค็นตามไวยากรณ์ที่อธิบายไว้ใน
วิธีกำหนดค่า
Edge
ในการกำหนดค่าการหมดเวลา I/O บนตัวประมวลผลข้อความ ให้ทำดังนี้
- ให้เปิดไฟล์ต่อไปนี้ในตัวแก้ไขในเครื่องประมวลผลข้อความ หากไม่เป็นเช่นนั้น
มีอยู่แล้ว ให้สร้างขึ้นมา
/opt/apigee/customer/application/message-processor.properties
เช่น หากต้องการเปิดไฟล์โดยใช้
vi
ให้ป้อนคำสั่งต่อไปนี้vi /opt/apigee/customer/application/message-processor.properties
- เพิ่มบรรทัดในรูปแบบต่อไปนี้ลงในไฟล์คุณสมบัติ โดยแทนที่ค่า
TIME_IN_MILLISECONDS:
conf_http_HTTPTransport.io.timeout.millis=TIME_IN_MILLISECONDS
เช่น หากต้องการเปลี่ยนระยะหมดเวลา I/O ในโปรแกรมประมวลผลข้อความเป็น 120 วินาที เพิ่มบรรทัดต่อไปนี้
conf_http_HTTPTransport.io.timeout.millis=120000
- บันทึกการเปลี่ยนแปลง
- ตรวจสอบว่าผู้ใช้
apigee
เป็นเจ้าของไฟล์พร็อพเพอร์ตี้ดังที่แสดงด้านล่างchown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- รีสตาร์ทโปรแกรมประมวลผลข้อความดังที่แสดงด้านล่าง
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- หากคุณมีโปรแกรมประมวลผลข้อความมากกว่า 1 ระบบ ให้ทำขั้นตอนข้างต้นซ้ำในส่วน "ข้อความ" ทั้งหมด ผู้ประมวลผลข้อมูล
กำลังตรวจสอบการหมดเวลา I/O บน Message Processor
ส่วนนี้จะอธิบายวิธีตรวจสอบว่าการหมดเวลา I/O ได้รับการแก้ไขเรียบร้อยแล้วใน ตัวประมวลผลข้อความ
แม้ว่าคุณจะใช้โทเค็น conf_http_HTTPTransport.io.timeout.millis
เพื่อตั้งค่า
หมดเวลา I/O บนตัวประมวลผลข้อความ คุณจำเป็นต้องตรวจสอบว่าพร็อพเพอร์ตี้จริง
ตั้งค่า HTTPTransport.io.timeout.millis
ด้วยค่าใหม่แล้ว
- ค้นหาคุณสมบัติ
HTTPTransport.io.timeout.millis
ในเครื่องประมวลผลข้อความ ในไดเรกทอรี/opt/apigee/edge-message-processor/conf
และดูว่า ด้วยค่าใหม่ดังต่อไปนี้แล้วgrep -ri "HTTPTransport.io.timeout.millis" /opt/apigee/edge-message-processor/conf
- หากกำหนดค่าการหมดเวลา I/O ใหม่ให้กับตัวประมวลผลข้อความสำเร็จ การตั้งค่าข้างต้น
จะแสดงค่าใหม่ในไฟล์
http.properties
- หากคุณยังคงเห็นค่าเดิมของพร็อพเพอร์ตี้
HTTPTransport.io.timeout.millis
จากนั้นให้ตรวจสอบว่าคุณได้ทำตามขั้นตอนทั้งหมดที่ระบุใน การกำหนดค่าระยะหมดเวลา I/O บนตัวประมวลผลข้อความอย่างถูกต้อง หากคุณมี ลืมขั้นตอนใดไป ทำขั้นตอนทั้งหมดซ้ำให้ถูกต้อง - หากคุณยังคงไม่สามารถแก้ไขระยะหมดเวลา I/O ได้ โปรดติดต่อ การสนับสนุน Apigee Edge
ผลลัพธ์ตัวอย่างจากคำสั่งข้างต้นหลังจากที่คุณกำหนดค่าระยะหมดเวลา I/O เป็น 120 วินาทีมีดังนี้
/opt/apigee/edge-message-processor/conf/http.properties:HTTPTransport.io.timeout.millis=120000
ในตัวอย่างเอาต์พุตด้านบน จะเห็นว่าพร็อพเพอร์ตี้
ตั้งค่า HTTPTransport.io.timeout.millis
ด้วยค่าใหม่ 120000
ใน
http.properties
ซึ่งหมายความว่ามีการกำหนดค่าการหมดเวลา I/O เรียบร้อยแล้ว
ได้ถึง 120 วินาทีในโปรแกรมประมวลผลข้อความ
สิ่งที่ควรทำถัดไป
ดูข้อมูลเกี่ยวกับ การกำหนดค่าระยะหมดเวลา I/O บนเราเตอร์