คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่
เอกสารประกอบของ Apigee X info
เอกสารนี้อธิบายวิธีกำหนดค่าระยะหมดเวลา I/O สำหรับ Message Processor ของ Apigee Edge
ระยะหมดเวลา I/O ใน Message Processor แสดงถึงระยะเวลาที่ Message Processor รอรับการตอบกลับจากเซิร์ฟเวอร์แบ็กเอนด์หรือรอให้ซ็อกเก็ตพร้อมเขียน คำขอไปยังเซิร์ฟเวอร์แบ็กเอนด์ก่อนที่จะหมดเวลา
ค่าเริ่มต้นของระยะหมดเวลา I/O ของ Message Processor คือ 55 seconds ระยะหมดเวลานี้ใช้ได้กับเซิร์ฟเวอร์แบ็กเอนด์ที่กำหนดค่าในการกำหนดค่าปลายทางเป้าหมายและในนโยบาย ServiceCallout ของพร็อกซี API
คุณสามารถเพิ่มหรือลดระยะหมดเวลา I/O สำหรับ Message Processor จากค่าเริ่มต้น
55 seconds ได้ตามความต้องการ โดยกำหนดค่าได้ในตำแหน่งต่อไปนี้
- ในพร็อกซี API
- ปลายทางเป้าหมาย
- นโยบาย ServiceCallout
- ใน Message Processor
พร็อพเพอร์ตี้ต่อไปนี้ควบคุมระยะหมดเวลา I/O ใน Message Processor
| ชื่อพร็อพเพอร์ตี้ | ตำแหน่ง | คำอธิบาย |
|---|---|---|
io.timeout.millis
|
พร็อกซี API:
|
นี่คือระยะเวลาสูงสุดที่ Message Processor จะดำเนินการต่อไปนี้
หากไม่มีการตอบกลับจากเซิร์ฟเวอร์แบ็กเอนด์ภายในระยะหมดเวลานี้ Message Processor จะหมดเวลา
โดยค่าเริ่มต้น พร็อพเพอร์ตี้นี้จะใช้ค่าที่ตั้งไว้สำหรับ
หากมีการแก้ไขพร็อพเพอร์ตี้นี้ด้วยค่าระยะหมดเวลาใหม่สำหรับพร็อกซี API ที่เฉพาะเจาะจง พร็อกซี API นั้นเท่านั้นที่จะได้รับผลกระทบ |
HTTPTransport.io.timeout.millis
|
Message Processor |
นี่คือระยะเวลาสูงสุดที่ Message Processor จะดำเนินการต่อไปนี้
หากไม่มีการตอบกลับจากเซิร์ฟเวอร์แบ็กเอนด์ภายในระยะหมดเวลานี้ Message Processor จะหมดเวลา พร็อพเพอร์ตี้นี้ใช้สำหรับพร็อกซี API ทั้งหมดที่ทำงานใน Message Processor นี้
ค่าเริ่มต้นของพร็อพเพอร์ตี้นี้คือ
คุณสามารถแก้ไขพร็อพเพอร์ตี้ตามที่อธิบายไว้ใน
หัวข้อการกำหนดค่าระยะหมดเวลา I/O ใน Message Processor หรือเขียนทับค่านี้โดยตั้งค่า |
ก่อนเริ่มต้น
โปรดตรวจสอบว่าคุณเข้าใจหัวข้อต่อไปนี้ก่อนที่จะทำตามขั้นตอนในเอกสารนี้
- หากคุณไม่คุ้นเคยกับระยะหมดเวลา I/O โปรดดูคำอธิบายพร็อพเพอร์ตี้
io.timeout.millisใน ข้อกำหนดพร็อพเพอร์ตี้การขนส่ง TargetEndpoint - หากคุณไม่คุ้นเคยกับการกำหนดค่าพร็อพเพอร์ตี้สำหรับ Edge for Private Cloud โปรดอ่าน หัวข้อวิธีกำหนดค่า Edge
- ตรวจสอบว่าคุณได้ทำตามคำแนะนำใน แนวทางปฏิบัติแนะนำสำหรับการกำหนดค่าระยะหมดเวลา I/O
การกำหนดค่าระยะหมดเวลา I/O ในพร็อกซี API
คุณสามารถกำหนดค่าระยะหมดเวลา I/O ได้ในตำแหน่งต่อไปนี้ของพร็อกซี API
- ปลายทางเป้าหมาย
- นโยบาย ServiceCallout
การกำหนดค่าระยะหมดเวลา I/O ในปลายทางเป้าหมายของพร็อกซี API
ส่วนนี้อธิบายวิธีกำหนดค่าระยะหมดเวลา I/O ในปลายทางเป้าหมายของพร็อกซี API
คุณสามารถกำหนดค่าระยะหมดเวลา I/O ผ่านพร็อพเพอร์ตี้ io.timeout.millis ซึ่ง
แสดงถึงค่าระยะหมดเวลา I/O เป็นมิลลิวินาที
- ใน UI ของ Edge ให้เลือกพร็อกซี 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 ในนโยบาย ServiceCallout ของพร็อกซี API
ส่วนนี้อธิบายวิธีกำหนดค่าระยะหมดเวลา I/O ในนโยบาย ServiceCallout ของ
พร็อกซี API คุณสามารถกำหนดค่าระยะหมดเวลา I/O ผ่านองค์ประกอบ <Timeout> หรือพร็อพเพอร์ตี้ io.timeout.millis ทั้งองค์ประกอบ <Timeout> และพร็อพเพอร์ตี้
io.timeout.millis แสดงถึงค่าระยะหมดเวลา I/O เป็นมิลลิวินาที
คุณสามารถกำหนดค่าระยะหมดเวลา I/O ในนโยบาย ServiceCallout ได้โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้
- องค์ประกอบ
<Timeout> - พร็อพเพอร์ตี้
io.timeout.millis
องค์ประกอบ Timeout
หากต้องการกำหนดค่าระยะหมดเวลา I/O ในนโยบาย ServiceCallout โดยใช้ <Timeout>
องค์ประกอบ ให้ทำดังนี้
- ใน UI ของ Edge ให้เลือกพร็อกซี API ที่เฉพาะเจาะจงซึ่งคุณต้องการกำหนดค่า ค่าระยะหมดเวลา I/O ใหม่สำหรับนโยบาย ServiceCallout
- เลือกนโยบาย ServiceCallout ที่เฉพาะเจาะจงซึ่งคุณต้องการแก้ไข
- เพิ่มองค์ประกอบ
<Timeout>ที่มีค่าที่เหมาะสมภายใต้การกำหนดค่า<ServiceCallout>ตัวอย่างเช่น หากต้องการเปลี่ยนระยะหมดเวลา I/O เป็น 120 วินาที ให้เพิ่มโค้ดบรรทัดต่อไปนี้
<Timeout>120000</Timeout>
เนื่องจากองค์ประกอบ
<Timeout>มีหน่วยเป็นมิลลิวินาที ค่าสำหรับ120 วินาทีจึงเป็น120000ตัวอย่างต่อไปนี้แสดงวิธีกำหนดค่าระยะหมดเวลา I/O ในนโยบาย ServiceCallout โดยใช้องค์ประกอบ
<Timeout>ตัวอย่างการกำหนดค่านโยบาย ServiceCallout โดยใช้ 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 ในนโยบาย ServiceCallout โดยใช้พร็อพเพอร์ตี้
io.timeout.millis ให้ทำดังนี้
- ใน UI ของ Edge ให้เลือกพร็อกซี API ที่เฉพาะเจาะจงซึ่งคุณต้องการกำหนดค่า ค่าระยะหมดเวลา I/O ใหม่สำหรับนโยบาย ServiceCallout
- เลือกนโยบาย ServiceCallout ที่เฉพาะเจาะจงซึ่งคุณต้องการแก้ไข
- เพิ่มพร็อพเพอร์ตี้
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
ตัวอย่างการกำหนดค่านโยบาย ServiceCallout โดยใช้ 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 โดยใช้เซิร์ฟเวอร์เป้าหมาย
<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 ใน Message Processor
ส่วนนี้อธิบายวิธีกำหนดค่าระยะหมดเวลา I/O ใน Message Processor
คุณสามารถกำหนดค่าระยะหมดเวลา I/O ผ่านพร็อพเพอร์ตี้ HTTPTransport.io.timeout.millis ซึ่งแสดงถึงค่าระยะหมดเวลา I/O เป็นมิลลิวินาทีในคอมโพเนนต์ Message Processor โดยใช้โทเค็นตามไวยากรณ์ที่อธิบายไว้ใน วิธีกำหนดค่า Edge
หากต้องการกำหนดค่าระยะหมดเวลา I/O ใน Message Processor ให้ทำดังนี้
- เปิดไฟล์ต่อไปนี้ในเครื่องมือแก้ไขในเครื่อง Message Processor หากยังไม่มี
ให้สร้างไฟล์
/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 ใน Message Processor เป็น 120 วินาที ให้เพิ่มบรรทัดต่อไปนี้
conf_http_HTTPTransport.io.timeout.millis=120000
- บันทึกการเปลี่ยนแปลง
- ตรวจสอบว่าไฟล์พร็อพเพอร์ตี้เป็นของผู้ใช้
apigeeดังที่แสดงด้านล่างchown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- รีสตาร์ท Message Processor ดังที่แสดงด้านล่าง
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- หากมี Message Processor มากกว่า 1 รายการ ให้ทำซ้ำขั้นตอนข้างต้นใน Message Processors ทั้งหมด
การยืนยันระยะหมดเวลา I/O ใน Message Processor
ส่วนนี้อธิบายวิธียืนยันว่าระยะหมดเวลา I/O ได้รับการแก้ไขใน Message Processor เรียบร้อยแล้ว
แม้ว่าคุณจะใช้โทเค็น conf_http_HTTPTransport.io.timeout.millis เพื่อตั้งค่า
ระยะหมดเวลา I/O ใน Message Processor แต่คุณต้องยืนยันว่าพร็อพเพอร์ตี้จริง
HTTPTransport.io.timeout.millis ได้รับการตั้งค่าด้วยค่าใหม่หรือไม่
- ในเครื่อง Message Processor ให้ค้นหาพร็อพเพอร์ตี้
HTTPTransport.io.timeout.millisในไดเรกทอรี/opt/apigee/edge-message-processor/confและตรวจสอบว่ามีการตั้งค่าด้วยค่าใหม่หรือไม่ ดังที่แสดงด้านล่างgrep -ri "HTTPTransport.io.timeout.millis" /opt/apigee/edge-message-processor/conf
- หากตั้งค่าระยะหมดเวลา I/O ใหม่ใน Message Processor สำเร็จ คำสั่งด้านบนจะแสดงค่าใหม่ในไฟล์
http.properties - หากยังเห็นค่าเก่าสำหรับพร็อพเพอร์ตี้
HTTPTransport.io.timeout.millisโปรดตรวจสอบว่าคุณได้ทำตามขั้นตอนทั้งหมดที่ระบุไว้ในการกำหนดค่าระยะหมดเวลา I/O ใน Message Processor อย่างถูกต้อง หากข้ามขั้นตอนใดไป ให้ทำซ้ำขั้นตอนทั้งหมดอีกครั้งอย่างถูกต้อง - หากยังแก้ไขระยะหมดเวลา 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 วินาทีใน Message Processor สำเร็จแล้ว