การกําหนดค่าให้ระยะหมดเวลาของตัวประมวลผลข้อความมีผลตลอดไป

คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่ เอกสารประกอบของ Apigee X
info

เอกสารนี้อธิบายวิธีกำหนดค่าระยะหมดเวลา Keep-Alive สำหรับ Message Processor ของ Apigee Edge

ระยะหมดเวลา Keep-Alive ใน Message Processor ช่วยให้การเชื่อมต่อ TCP รายการเดียวส่งและ รับคำขอ/การตอบสนอง HTTP หลายรายการจาก/ไปยังเซิร์ฟเวอร์แบ็กเอนด์ได้ แทนที่จะเปิดการเชื่อมต่อใหม่ สำหรับคำขอ/การตอบสนองแต่ละคู่

ค่าเริ่มต้นของพร็อพเพอร์ตี้ระยะหมดเวลา Keep-Alive ใน Message Processor คือ 60 วินาที ระยะหมดเวลานี้ใช้ได้กับเซิร์ฟเวอร์แบ็กเอนด์ที่กำหนดค่า ในการกำหนดค่าปลายทางเป้าหมายและในนโยบาย ServiceCallout ของพร็อกซี API

คุณสามารถเพิ่มหรือลดระยะหมดเวลา Keep-Alive สำหรับ Message Processor จากค่าเริ่มต้น ของ 60 วินาทีได้ตามความต้องการ โดยกำหนดค่าได้ด้วยวิธีต่อไปนี้

  • ในพร็อกซี API
    • ในปลายทางเป้าหมาย
    • ในนโยบาย ServiceCallout
  • ใน Message Processor

พร็อพเพอร์ตี้ต่อไปนี้ควบคุมระยะหมดเวลา Keep-Alive ใน Message Processor

ชื่อพร็อพเพอร์ตี้ ตำแหน่ง คำอธิบาย
keepalive.timeout.millis พร็อกซี API:
  • ปลายทางเป้าหมาย
  • นโยบาย ServiceCallout

นี่คือเวลาที่ไม่มีการใช้งานสูงสุดที่ Message Processor อนุญาตให้การเชื่อมต่อ TCP รายการเดียวส่งและรับคำขอ/การตอบสนอง HTTP หลายรายการได้ แทนที่จะเปิดการเชื่อมต่อใหม่สำหรับคำขอ/การตอบสนองแต่ละคู่

โดยค่าเริ่มต้น พร็อพเพอร์ตี้นี้จะใช้ค่าที่ตั้งไว้สำหรับ HTTPClient.keepalive.timeout.millis พร็อพเพอร์ตี้ใน Message Processor ซึ่ง ค่าเริ่มต้นคือ 60 วินาที

หากมีการแก้ไขพร็อพเพอร์ตี้นี้ด้วยค่าระยะหมดเวลาใหม่สำหรับเซิร์ฟเวอร์เป้าหมายที่ใช้ในการกำหนดค่าปลายทางเป้าหมายหรือนโยบาย ServiceCallout ในพร็อกซี API ที่เฉพาะเจาะจง ระบบจะส่งผลต่อระยะเวลา Keep-Alive ของเซิร์ฟเวอร์เป้าหมายที่เฉพาะเจาะจงนั้นเท่านั้น

HTTPClient.keepalive.timeout.millis Message Processor

นี่คือเวลาที่ไม่มีการใช้งานสูงสุดที่ Message Processor อนุญาตให้การเชื่อมต่อ TCP รายการเดียวส่งและรับคำขอ/การตอบสนอง HTTP หลายรายการได้ แทนที่จะเปิดการเชื่อมต่อใหม่สำหรับคำขอ/การตอบสนองแต่ละคู่

พร็อพเพอร์ตี้นี้ใช้สำหรับพร็อกซี API ทั้งหมดที่ทำงานใน Message Processor นี้

ค่าเริ่มต้นของพร็อพเพอร์ตี้นี้คือ 60 วินาที

คุณสามารถแก้ไขพร็อพเพอร์ตี้นี้ตามที่อธิบายไว้ใน หัวข้อการกำหนดค่าระยะหมดเวลา Keep-Alive ใน Message Processor ด้านล่าง หรือเขียนทับค่านี้โดยตั้งค่า keepalive.timeout.millis ที่ระดับพร็อกซี API

ก่อนเริ่มต้น

โปรดตรวจสอบว่าคุณเข้าใจหัวข้อต่อไปนี้ก่อนที่จะใช้ขั้นตอนในเอกสารนี้

  • หากไม่คุ้นเคยกับระยะหมดเวลา Keep-Alive โปรดดูคำอธิบายพร็อพเพอร์ตี้ keepalive.timeout.millis ใน TargetEndpoint Transport Property Specification
  • หากไม่คุ้นเคยกับการกำหนดค่าพร็อพเพอร์ตี้สำหรับ Edge ใน Private Cloud โปรดอ่าน How to configure Edge

การกำหนดค่าระยะหมดเวลา Keep-Alive ในพร็อกซี API

คุณกำหนดค่าระยะหมดเวลา Keep-Alive ในพร็อกซี API ได้ในตำแหน่งต่อไปนี้

  • ปลายทางเป้าหมาย
  • นโยบาย ServiceCallout

การกำหนดค่าระยะหมดเวลา Keep-Alive ในปลายทางเป้าหมายของพร็อกซี API

ส่วนนี้อธิบายวิธีกำหนดค่าระยะหมดเวลา Keep-Alive ในปลายทางเป้าหมายของ พร็อกซี API คุณกำหนดค่าระยะหมดเวลา Keep-Alive ได้ผ่านพร็อพเพอร์ตี้ keepalive.timeout.millis ซึ่งแสดงค่าระยะหมดเวลา Keep-Alive เป็น มิลลิวินาที

  1. ใน UI ของ Edge ให้เลือกพร็อกซี API ที่เฉพาะเจาะจงซึ่งคุณต้องการกำหนดค่าระยะหมดเวลา Keep-Alive ใหม่
  2. เลือกปลายทางเป้าหมายที่เฉพาะเจาะจงซึ่งคุณต้องการแก้ไข
  3. เพิ่มพร็อพเพอร์ตี้ keepalive.timeout.millis พร้อมค่าที่เหมาะสมภายใต้องค์ประกอบ <HTTPTargetConnection> ในการกำหนดค่า TargetEndpoint

    ตัวอย่างเช่น หากต้องการเปลี่ยนระยะหมดเวลา Keep-Alive เป็น 30 วินาที ให้เพิ่มบล็อกโค้ดต่อไปนี้

    <Properties>
      <Property name="keepalive.timeout.millis">30000</Property>
    </Properties>

    เนื่องจากพร็อพเพอร์ตี้ keepalive.timeout.millis มีหน่วยเป็นมิลลิวินาที ค่าสำหรับ 30 วินาทีจึงเป็น 30000

    ตัวอย่างต่อไปนี้แสดงวิธีกำหนดค่าระยะหมดเวลา Keep-Alive ในการกำหนดค่าปลายทางเป้าหมาย ของพร็อกซี API

    ตัวอย่างการกำหนดค่าปลายทางเป้าหมายโดยใช้ URL สำหรับเซิร์ฟเวอร์แบ็กเอนด์

    <TargetEndpoint name="default">
      <HTTPTargetConnection>
        <URL>https://mocktarget.apigee.net/json</URL>
        <Properties>
          <Property name="keepalive.timeout.millis">30000</Property>
        </Properties>
      </HTTPTargetConnection>
    </TargetEndpoint>

    ตัวอย่างการกำหนดค่าปลายทางเป้าหมายโดยใช้เซิร์ฟเวอร์เป้าหมาย

    <TargetEndpoint name="default">
      <HTTPTargetConnection>
        <LoadBalancer>
          <Server name="target1" />
          <Server name="target2" />
        </LoadBalancer>
        <Properties>
          <Property name="keepalive.timeout.millis">30000</Property>
        </Properties>
        <Path>/test</Path>
      </HTTPTargetConnection>
    </TargetEndpoint>
  4. บันทึกการเปลี่ยนแปลงที่ทำกับพร็อกซี API

การกำหนดค่าระยะหมดเวลา Keep-Alive ในนโยบาย ServiceCallout ของพร็อกซี API

ส่วนนี้อธิบายวิธีกำหนดค่าระยะหมดเวลา Keep-Alive ในนโยบาย ServiceCallout ของพร็อกซี API คุณกำหนดค่าระยะหมดเวลา Keep-Alive ได้ ผ่าน the keepalive.timeout.millis พร็อพเพอร์ตี้ ซึ่งแสดง ค่าระยะหมดเวลา Keep-Alive เป็นมิลลิวินาที

วิธีกำหนดค่าระยะหมดเวลา Keep-Alive ในนโยบาย ServiceCallout โดยใช้พร็อพเพอร์ตี้ keepalive.timeout.millis

  1. ใน UI ของ Edge ให้เลือกพร็อกซี API ที่เฉพาะเจาะจงซึ่งคุณต้องการกำหนดค่าระยะหมดเวลา Keep-Alive ใหม่สำหรับนโยบาย ServiceCallout
  2. เลือกนโยบาย ServiceCallout ที่เฉพาะเจาะจงซึ่งคุณต้องการแก้ไข
  3. เพิ่มพร็อพเพอร์ตี้ keepalive.timeout.millis พร้อมค่าที่เหมาะสมภายใต้ <HTTPTargetConnection> องค์ประกอบในการกำหนดค่า TargetEndpoint

    ตัวอย่างเช่น หากต้องการเปลี่ยนระยะหมดเวลา Keep-Alive เป็น 30 วินาที ให้เพิ่มบล็อกโค้ดต่อไปนี้

    <Properties>
      <Property name="keepalive.timeout.millis">30000</Property>
    </Properties>

    เนื่องจากพร็อพเพอร์ตี้ keepalive.timeout.millis มีหน่วยเป็นมิลลิวินาที ค่าสำหรับ 30 วินาทีจึงเป็น 30000

    ตัวอย่างต่อไปนี้แสดงวิธีกำหนดค่าระยะหมดเวลา Keep-Alive ในนโยบาย ServiceCallout ของพร็อกซี API

    ตัวอย่างการกำหนดค่านโยบาย ServiceCallout โดยใช้ URL สำหรับเซิร์ฟเวอร์แบ็กเอนด์

    <ServiceCallout name="Service-Callout-1">
      <DisplayName>Service Callout-1</DisplayName>
      <HTTPTargetConnection>
        <Properties>
          <Property name="keepalive.timeout.millis">30000</Property>
        </Properties>
        <URL>https://mocktarget.apigee.net/json</URL>
      </HTTPTargetConnection>
    </ServiceCallout>

    ตัวอย่างการกำหนดค่านโยบาย ServiceCallout โดยใช้เซิร์ฟเวอร์เป้าหมาย

    <ServiceCallout enabled="true" name="Service-Callout-1">
      <DisplayName>Service Callout-1</DisplayName>
      <Response>calloutResponse</Response>
      <HTTPTargetConnection>
        <LoadBalancer>
          <Server name="target1" />
          <Server name="target2" />
        </LoadBalancer>
        <Properties>
          <Property name="keepalive.timeout.millis">30000</Property>
        </Properties>
        <Path>/test</Path>
      </HTTPTargetConnection>
    </ServiceCallout>
  4. บันทึกการเปลี่ยนแปลงที่ทำกับพร็อกซี API

การกำหนดค่าระยะหมดเวลา Keep-Alive ใน Message Processor

ส่วนนี้อธิบายวิธีกำหนดค่าระยะหมดเวลา Keep-Alive ใน Message Processor คุณกำหนดค่าระยะหมดเวลา Keep-Alive ได้ผ่านพร็อพเพอร์ตี้ HTTPClient.keepalive.timeout.millis ซึ่งแสดงค่าระยะหมดเวลา Keep-Alive เป็นมิลลิวินาทีในคอมโพเนนต์ Message Processor เนื่องจากพร็อพเพอร์ตี้นี้มีการแสดงความคิดเห็นใน Message Processor คุณจึงต้องใช้ไวยากรณ์พิเศษ conf/http.properties+HTTPClient.keepalive.timeout.millis ตามที่อธิบายไว้ในส่วน Set a token that is currently commented out ใน How to configure Edge

หากต้องการกำหนดค่าระยะหมดเวลา Keep-Alive ใน Message Processor ให้ทำดังนี้

  1. ในเครื่อง Message Processor ให้เปิดไฟล์ต่อไปนี้ในโปรแกรมแก้ไข หากยังไม่มี ให้สร้างไฟล์
    /opt/apigee/customer/application/message-processor.properties

    ตัวอย่างเช่น หากต้องการเปิดไฟล์โดยใช้ vi ให้ป้อนคำสั่งต่อไปนี้

    vi /opt/apigee/customer/application/message-processor.properties
    
  2. เพิ่มบรรทัดในรูปแบบต่อไปนี้ลงในไฟล์พร็อพเพอร์ตี้ โดยแทนที่ค่าสำหรับ TIME_IN_MILLISECONDS
    conf/http.properties+HTTPClient.keepalive.timeout.millis=TIME_IN_MILLISECONDS

    ตัวอย่างเช่น หากต้องการเปลี่ยนระยะหมดเวลา Keep-Alive ใน Message Processor เป็น 30 วินาที ให้เพิ่มบรรทัดต่อไปนี้

    conf/http.properties+HTTPClient.keepalive.timeout.millis=30000
  3. บันทึกการเปลี่ยนแปลง
  4. ตรวจสอบว่าไฟล์พร็อพเพอร์ตี้เป็นของผู้ใช้ apigee ดังที่แสดงด้านล่าง
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. รีสตาร์ท Message Processor ดังที่แสดงด้านล่าง
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. หากมี Message Processor มากกว่า 1 รายการ ให้ทำตามขั้นตอนข้างต้นซ้ำใน Message Processor ทั้งหมด

การยืนยันระยะหมดเวลา Keep-Alive ใน Message Processor

ส่วนนี้อธิบายวิธียืนยันว่าระยะหมดเวลา Keep-Alive ได้รับการแก้ไขใน Message Processor เรียบร้อยแล้ว

แม้ว่าคุณจะใช้ไวยากรณ์พิเศษ conf/http.properties+HTTPClient.keepalive.timeout.millis เพื่อตั้งค่าระยะหมดเวลา Keep-Alive ใน Message Processor แต่คุณต้องยืนยันว่าพร็อพเพอร์ตี้ HTTPClient.keepalive.timeout.millis จริงได้รับการตั้งค่าด้วยค่าใหม่หรือไม่

  1. ในเครื่อง Message Processor ให้ค้นหาพร็อพเพอร์ตี้ HTTPClient.keepalive.timeout.millis ในไดเรกทอรี /opt/apigee/edge-message-processor/conf และตรวจสอบว่ามีการตั้งค่าด้วยค่าใหม่หรือไม่ ดังที่แสดงด้านล่าง
    grep -ri "HTTPClient.keepalive.timeout.millis" /opt/apigee/edge-message-processor/conf
    
  2. หากตั้งค่าระยะหมดเวลา Keep-Alive ใหม่ใน Message Processor สำเร็จ คำสั่งด้านบนจะแสดงค่าใหม่ในไฟล์ http.properties

    ตัวอย่างผลลัพธ์จากคำสั่งด้านบนหลังจากที่คุณกำหนดค่าระยะหมดเวลา Keep-Alive เป็น 30 วินาทีมีดังนี้

    /opt/apigee/edge-message-processor/conf/http.properties:HTTPClient.keepalive.timeout.millis=30000

    ในเอาต์พุตตัวอย่างด้านบน โปรดสังเกตว่าพร็อพเพอร์ตี้ HTTPClient.keepalive.timeout.millis ได้รับการตั้งค่าด้วยค่าใหม่ 30000 ใน http.properties ซึ่งบ่งบอกว่าระยะหมดเวลา Keep-Alive ได้รับการกำหนดค่าเป็น 30 วินาทีใน Message Processor เรียบร้อยแล้ว

  3. หากยังเห็นค่าเก่าสำหรับพร็อพเพอร์ตี้ HTTPClient.keepalive.timeout.millis โปรดตรวจสอบว่าคุณได้ทำตามขั้นตอนทั้งหมดที่ระบุไว้ใน หัวข้อการกำหนดค่าระยะหมดเวลา Keep-Alive ใน Message Processor อย่างถูกต้อง หากข้ามขั้นตอนใดไป ให้ทำตามขั้นตอนทั้งหมดอีกครั้งอย่างถูกต้อง
  4. หากยังแก้ไขระยะหมดเวลา Keep-Alive ไม่ได้ โปรดติดต่อ ทีมสนับสนุนของ Google Cloud Apigee Edge