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

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

เอกสารนี้อธิบายวิธีกำหนดค่าระยะหมดเวลา Keep-alive สำหรับ Apigee Edge ตัวประมวลผลข้อความ

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

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

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

  • ในพร็อกซี API
    • ในปลายทางเป้าหมาย
    • ในนโยบาย ServiceCallout
  • ในตัวประมวลผลข้อความ

พร็อพเพอร์ตี้ต่อไปนี้จะควบคุมระยะหมดเวลา Keep-alive ในเครื่องประมวลผลข้อความ

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

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

โดยค่าเริ่มต้น พร็อพเพอร์ตี้นี้จะใช้ค่าที่กำหนดไว้สำหรับ พร็อพเพอร์ตี้ HTTPClient.keepalive.timeout.millis ในโปรแกรมประมวลผลข้อความ โดยที่ ค่าเริ่มต้นคือ 60 วินาที

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

HTTPClient.keepalive.timeout.millis Message Processor

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

คุณสมบัตินี้ใช้กับพร็อกซี API ทั้งหมดที่กำลังทำงานบนตัวประมวลผลข้อความนี้

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

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

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

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

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

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

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

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

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

  1. ใน Edge UI ให้เลือกพร็อกซี API เฉพาะที่คุณต้องการกำหนดค่าพร็อกซีใหม่ เก็บค่าระยะหมดเวลาของการทำงาน
  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 ในนโยบาย ServiceCall ของพร็อกซี API

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

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

  1. ใน Edge UI ให้เลือกพร็อกซี 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:

    ตัวอย่างการกำหนดค่านโยบายคำขอราคาเสนอบริการโดยใช้ 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 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 เนื่องจากพร็อพเพอร์ตี้นี้มีการแสดงความคิดเห็น โปรเซสเซอร์ข้อความ คุณจำเป็นต้องใช้ไวยากรณ์พิเศษ conf/http.properties+HTTPClient.keepalive.timeout.millis ตามที่อธิบายไว้ในส่วน ตั้งค่าโทเค็นที่มีการแสดงความคิดเห็นอยู่ในขณะนี้ วิธีกำหนดค่า Edge

ในการกำหนดค่าการหมดเวลา Keep alive ใน Message Processor ให้ทำดังนี้

  1. ให้เปิดไฟล์ต่อไปนี้ในตัวแก้ไขในเครื่องประมวลผลข้อความ หากยังไม่มี ให้สร้างขึ้นใหม่
    /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 ในโปรแกรมประมวลผลข้อความเป็น 30 วินาที ให้เพิ่มบรรทัดต่อไปนี้

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

การตรวจสอบการหมดเวลาแบบ Keep-alive ใน Message Processor

หัวข้อนี้จะอธิบายวิธีการตรวจสอบว่าระยะหมดเวลาของ Keep-alive ได้รับการแก้ไขเรียบร้อยแล้ว โปรแกรมประมวลผลข้อความ

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

  1. ค้นหาคุณสมบัติในเครื่องประมวลผลข้อความ 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 ใหม่ให้กับตัวประมวลผลข้อความเรียบร้อยแล้ว ให้ทำดังนี้ คำสั่งข้างต้นจะแสดงค่าใหม่ในไฟล์ 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 วินาทีในโปรแกรมประมวลผลข้อความเรียบร้อยแล้ว

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