คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X ข้อมูล
เอกสารนี้จะอธิบายวิธีกำหนดค่าการหมดเวลา I/O สำหรับตัวประมวลผลข้อความ Apigee Edge
ระยะหมดเวลา I/O บนตัวประมวลผลข้อความจะแสดงเวลาที่ผู้ประมวลผลข้อความที่รอการตอบกลับจากเซิร์ฟเวอร์แบ็กเอนด์หรือเพื่อให้ซ็อกเก็ตพร้อมสำหรับการเขียนคำขอไปยังเซิร์ฟเวอร์แบ็กเอนด์ก่อนที่จะหมดเวลา
ค่าเริ่มต้นของระยะหมดเวลา I/O ของเครื่องมือประมวลผลข้อความคือ 55 seconds
ระยะหมดเวลานี้จะมีผลกับเซิร์ฟเวอร์แบ็กเอนด์ที่กำหนดค่าไว้ในการกำหนดค่าปลายทางเป้าหมายและในนโยบาย ServiceAPI ของพร็อกซี API ของคุณ
ระยะหมดเวลา I/O สำหรับตัวประมวลผลข้อความสามารถเพิ่มหรือลดจากค่าเริ่มต้นที่ 55 seconds
ได้ตามต้องการ โดยจะกำหนดค่าได้ในตำแหน่งต่อไปนี้
- ในพร็อกซี API
- ปลายทางเป้าหมาย
- นโยบาย Serviceส่วนขยายไฮไลต์
- ในตัวประมวลผลข้อความ
พร็อพเพอร์ตี้ต่อไปนี้จะควบคุมระยะหมดเวลา I/O ในตัวประมวลผลข้อความ
ชื่อพร็อพเพอร์ตี้ | ตำแหน่ง | คำอธิบาย |
---|---|---|
io.timeout.millis
|
พร็อกซี API:
|
เวลานี้คือเวลาสูงสุดที่ผู้ประมวลผลข้อความจะดำเนินการต่อไปนี้:
หากไม่มีการตอบสนองจากเซิร์ฟเวอร์แบ็กเอนด์ภายในระยะหมดเวลานี้ ตัวประมวลผลข้อความจะหมดเวลา
โดยค่าเริ่มต้น พร็อพเพอร์ตี้นี้จะใช้ค่าที่ตั้งไว้สำหรับพร็อพเพอร์ตี้ หากแก้ไขพร็อพเพอร์ตี้นี้ด้วยค่าระยะหมดเวลาใหม่สำหรับพร็อกซี API ที่เฉพาะเจาะจง เฉพาะพร็อกซี API เท่านั้นที่จะได้รับผลกระทบ |
HTTPTransport.io.timeout.millis
|
Message Processor |
เวลานี้คือเวลาสูงสุดที่ผู้ประมวลผลข้อความจะดำเนินการต่อไปนี้:
หากไม่มีการตอบสนองจากเซิร์ฟเวอร์แบ็กเอนด์ภายในระยะหมดเวลานี้ ตัวประมวลผลข้อความจะหมดเวลา คุณสมบัตินี้ใช้สำหรับพร็อกซี API ทั้งหมดที่ทำงานบนเครื่องมือประมวลผลข้อความนี้
ค่าเริ่มต้นของพร็อพเพอร์ตี้นี้คือ
คุณสามารถแก้ไขพร็อพเพอร์ตี้นี้ตามที่อธิบายไว้ในการกำหนดค่าระยะหมดเวลาของ I/O ในตัวประมวลผลข้อความ หรือเขียนทับค่านี้ได้ด้วยการตั้งค่าพร็อพเพอร์ตี้ |
ก่อนเริ่มต้น
ก่อนทําตามขั้นตอนในเอกสารฉบับนี้ โปรดทําความเข้าใจหัวข้อต่อไปนี้
- หากไม่คุ้นเคยกับระยะหมดเวลาของ I/O โปรดดูคำอธิบายพร็อพเพอร์ตี้
io.timeout.millis
ใน ข้อกำหนดพร็อพเพอร์ตี้การนำส่งของ TargetEndpoint - หากไม่คุ้นเคยกับการกำหนดค่าพร็อพเพอร์ตี้สำหรับ Edge สำหรับ Private Cloud โปรดอ่าน วิธีกำหนดค่า Edge
- ตรวจสอบว่าคุณได้ทำตามคำแนะนำใน แนวทางปฏิบัติแนะนำสำหรับการกำหนดค่าระยะหมดเวลาของ I/O
การกำหนดค่าระยะหมดเวลาของ I/O ในพร็อกซี API
สามารถกำหนดค่าระยะหมดเวลา I/O ในตำแหน่งพร็อกซี API ต่อไปนี้
- ปลายทางเป้าหมาย
- นโยบาย Serviceส่วนขยายไฮไลต์
การกำหนดค่าระยะหมดเวลาของ 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 ในนโยบาย ServiceAPI ของพร็อกซี API
ส่วนนี้จะอธิบายวิธีกำหนดค่าระยะหมดเวลา I/O ในนโยบาย ServiceCaption ของพร็อกซี API ระยะหมดเวลา I/O จะกำหนดค่าได้ผ่านองค์ประกอบ <Timeout>
หรือพร็อพเพอร์ตี้ io.timeout.millis
ทั้งองค์ประกอบ <Timeout>
และพร็อพเพอร์ตี้ io.timeout.millis
จะแสดงค่าระยะหมดเวลา I/O ในหน่วยมิลลิวินาที
คุณจะกำหนดค่าระยะหมดเวลา I/O ในนโยบาย Serviceส่วนขยายไฮไลต์ได้โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้
<Timeout>
องค์ประกอบ- พร็อพเพอร์ตี้
io.timeout.millis
องค์ประกอบระยะหมดเวลา
หากต้องการกำหนดค่าระยะหมดเวลา I/O ในนโยบาย ServiceAPI โดยใช้องค์ประกอบ <Timeout>
ให้ทำดังนี้
- ใน Edge UI ให้เลือกพร็อกซี API เฉพาะที่คุณต้องการกำหนดค่าระยะหมดเวลา I/O ใหม่สำหรับนโยบาย Serviceต้องระบุ
- เลือกนโยบาย Serviceส่วนขยายไฮไลต์ที่คุณต้องการแก้ไข
- เพิ่มองค์ประกอบ
<Timeout>
ด้วยค่าที่เหมาะสมภายใต้การกำหนดค่า<ServiceCallout>
เช่น หากต้องการเปลี่ยนระยะหมดเวลา I/O เป็น 120 วินาที ให้เพิ่มบรรทัดโค้ดต่อไปนี้
<Timeout>120000</Timeout>
เนื่องจากองค์ประกอบ
<Timeout>
อยู่ในหน่วยมิลลิวินาที ค่าสำหรับ 120 วินาทีจึงเป็น120000
ตัวอย่างต่อไปนี้แสดงวิธีกำหนดค่าระยะหมดเวลา I/O ในนโยบาย ServiceAPI โดยใช้องค์ประกอบ
<Timeout>
ตัวอย่างการกำหนดค่านโยบาย ServiceAPI ที่ใช้ 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 ในนโยบาย ServiceAPI โดยใช้พร็อพเพอร์ตี้ 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
ตัวอย่างการกำหนดค่านโยบาย ServiceAPI ที่ใช้ 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>
ตัวอย่างการกำหนดค่านโยบาย ServiceAPI โดยใช้เซิร์ฟเวอร์เป้าหมาย
<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 เป็นมิลลิวินาทีในคอมโพเนนต์โปรแกรมประมวลผลข้อความโดยใช้โทเค็นตามไวยากรณ์ที่อธิบายไว้ในวิธีกำหนดค่า 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 บนตัวประมวลผลข้อความ
หัวข้อนี้จะอธิบายวิธียืนยันว่ามีการแก้ไขระยะหมดเวลา 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 บนเราเตอร์