Định cấu hình thời gian chờ duy trì hoạt động trên Bộ xử lý thông báo

Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào tài liệu Apigee X.
thông tin

Tài liệu này giải thích cách định cấu hình thời gian chờ duy trì kết nối cho Trình xử lý thông báo Apigee Edge.

Thời gian chờ duy trì hoạt động trên Trình xử lý thông báo cho phép một kết nối TCP duy nhất gửi và nhận nhiều yêu cầu/phản hồi HTTP từ/đến máy chủ phụ trợ, thay vì mở một kết nối mới cho mỗi cặp yêu cầu/phản hồi.

Giá trị mặc định của thuộc tính thời gian chờ duy trì kết nối trên Trình xử lý thông báo là 60 giây. Khoảng thời gian chờ này áp dụng cho các máy chủ phụ trợ được định cấu hình trong cấu hình điểm cuối mục tiêu và trong chính sách ServiceCallout của proxy API.

Bạn có thể tăng hoặc giảm thời gian chờ duy trì kết nối cho Trình xử lý thông báo so với giá trị mặc định là 60 giây tuỳ theo nhu cầu. Bạn có thể định cấu hình theo các cách sau:

  • Trong proxy API
    • Trong điểm cuối mục tiêu
    • Trong chính sách của ServiceCallout
  • Trên Bộ xử lý thông báo

Các thuộc tính sau đây kiểm soát thời gian chờ duy trì hoạt động trên Trình xử lý thông báo:

Tên tài sản Thông tin vị trí Mô tả
keepalive.timeout.millis API proxy:
  • Điểm cuối mục tiêu
  • Chính sách về ServiceCallout

Đây là thời gian chờ tối đa mà Trình xử lý thông báo cho phép một kết nối TCP duy nhất gửi và nhận nhiều yêu cầu/phản hồi HTTP, thay vì mở một kết nối mới cho mỗi cặp yêu cầu/phản hồi.

Theo mặc định, thuộc tính này sẽ lấy giá trị được đặt cho thuộc tính HTTPClient.keepalive.timeout.millis trên Trình xử lý thông báo, trong đó giá trị mặc định là 60 giây.

Nếu bạn sửa đổi thuộc tính này bằng giá trị thời gian chờ mới cho máy chủ đích được dùng trong điểm cuối đích hoặc chính sách ServiceCallout trong proxy API cụ thể, thì thời gian duy trì kết nối chỉ cho máy chủ đích cụ thể đó sẽ bị ảnh hưởng.

HTTPClient.keepalive.timeout.millis Bộ xử lý thông báo

Đây là thời gian chờ tối đa mà Trình xử lý thông báo cho phép một kết nối TCP duy nhất gửi và nhận nhiều yêu cầu/phản hồi HTTP, thay vì mở một kết nối mới cho mỗi cặp yêu cầu/phản hồi.

Thuộc tính này được dùng cho tất cả các proxy API đang chạy trên Trình xử lý thông báo này.

Giá trị mặc định của thuộc tính này là 60 giây.

Bạn có thể sửa đổi thuộc tính này như giải thích trong phần Định cấu hình thời gian chờ duy trì hoạt động trên Trình xử lý thông báo bên dưới, hoặc bạn có thể ghi đè giá trị này bằng cách đặt thuộc tính keepalive.timeout.millis ở cấp độ proxy API.

Trước khi bắt đầu

Trước khi sử dụng các bước trong tài liệu này, hãy đảm bảo bạn hiểu rõ các chủ đề sau:

Định cấu hình thời gian chờ duy trì hoạt động trong proxy API

Bạn có thể định cấu hình thời gian chờ duy trì kết nối trong proxy API ở những vị trí sau:

  • Điểm cuối mục tiêu
  • Chính sách về ServiceCallout

Định cấu hình thời gian chờ duy trì hoạt động trong điểm cuối đích của proxy API

Phần này giải thích cách định cấu hình thời gian chờ duy trì kết nối trong điểm cuối đích của proxy API. Bạn có thể định cấu hình thời gian chờ duy trì kết nối thông qua thuộc tính keepalive.timeout.millis. Thuộc tính này biểu thị giá trị thời gian chờ duy trì kết nối tính bằng mili giây.

  1. Trong giao diện người dùng Edge, hãy chọn một API proxy cụ thể mà bạn muốn định cấu hình giá trị thời gian chờ mới để duy trì hoạt động.
  2. Chọn điểm cuối mục tiêu cụ thể mà bạn muốn sửa đổi.
  3. Thêm thuộc tính keepalive.timeout.millis có giá trị thích hợp trong phần tử <HTTPTargetConnection> trong cấu hình TargetEndpoint.

    Ví dụ: để thay đổi Thời gian chờ duy trì kết nối thành 30 giây, hãy thêm khối mã sau:

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

    Vì thuộc tính keepalive.timeout.millis tính bằng mili giây, nên giá trị cho 30 giây là 30000.

    Các ví dụ sau đây cho thấy cách định cấu hình thời gian chờ duy trì hoạt động trong cấu hình điểm cuối đích của proxy API:

    Ví dụ về cấu hình điểm cuối mục tiêu bằng URL cho máy chủ phụ trợ

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

    Ví dụ về cấu hình điểm cuối mục tiêu bằng cách sử dụng máy chủ mục tiêu

    <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. Lưu các thay đổi đối với API proxy.

Định cấu hình thời gian chờ duy trì hoạt động trong chính sách ServiceCallout của proxy API

Phần này giải thích cách định cấu hình thời gian chờ duy trì kết nối trong chính sách ServiceCallout của proxy API. Bạn có thể định cấu hình thời gian chờ duy trì kết nối thông qua thuộc tính the keepalive.timeout.millis. Thuộc tính này biểu thị giá trị thời gian chờ duy trì kết nối tính bằng mili giây.

Để định cấu hình thời gian chờ duy trì hoạt động trong chính sách ServiceCallout bằng cách sử dụng thuộc tính keepalive.timeout.millis:

  1. Trong giao diện người dùng Edge, hãy chọn một API proxy cụ thể mà bạn muốn định cấu hình giá trị thời gian chờ duy trì kết nối mới cho chính sách ServiceCallout.
  2. Chọn ServiceCallout chính sách cụ thể mà bạn muốn sửa đổi.
  3. Thêm thuộc tính keepalive.timeout.millis có giá trị thích hợp trong phần tử <HTTPTargetConnection> trong cấu hình TargetEndpoint.

    Ví dụ: để thay đổi thời gian chờ duy trì kết nối thành 30 giây, hãy thêm khối mã sau:

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

    Vì thuộc tính keepalive.timeout.millis tính bằng mili giây, nên giá trị cho 30 giây là 30000.

    Các ví dụ sau đây cho thấy cách định cấu hình thời gian chờ duy trì hoạt động trong chính sách ServiceCallout của proxy API:

    Ví dụ về cấu hình chính sách ServiceCallout bằng URL cho máy chủ phụ trợ

    <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>

    Ví dụ về cấu hình chính sách ServiceCallout bằng cách sử dụng máy chủ đích

    <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. Lưu các thay đổi đối với API proxy.

Định cấu hình thời gian chờ duy trì hoạt động trên Trình xử lý thông báo

Phần này giải thích cách định cấu hình thời gian chờ duy trì hoạt động trên Trình xử lý thông báo. Bạn có thể định cấu hình thời gian chờ duy trì kết nối thông qua thuộc tính HTTPClient.keepalive.timeout.millis. Thuộc tính này biểu thị giá trị thời gian chờ duy trì kết nối tính bằng mili giây trên thành phần Trình xử lý thông báo. Vì thuộc tính này được nhận xét trên Trình xử lý thông báo, nên bạn cần sử dụng cú pháp đặc biệt conf/http.properties+HTTPClient.keepalive.timeout.millis như mô tả trong phần Đặt mã thông báo hiện đang được nhận xét trong Cách định cấu hình Edge.

Để định cấu hình thời gian chờ duy trì hoạt động trên Trình xử lý thông báo, hãy làm như sau:

  1. Trên máy Xử lý tin nhắn, hãy mở tệp sau trong một trình chỉnh sửa. Nếu chưa có, hãy tạo một tệp.
    /opt/apigee/customer/application/message-processor.properties

    Ví dụ: để mở tệp bằng vi, hãy nhập nội dung sau:

    vi /opt/apigee/customer/application/message-processor.properties
    
  2. Thêm một dòng theo định dạng sau vào tệp thuộc tính, thay thế một giá trị cho TIME_IN_MILLISECONDS:
    conf/http.properties+HTTPClient.keepalive.timeout.millis=TIME_IN_MILLISECONDS

    Ví dụ: để thay đổi thời gian chờ duy trì kết nối trên Trình xử lý thông báo thành 30 giây, hãy thêm dòng sau:

    conf/http.properties+HTTPClient.keepalive.timeout.millis=30000
  3. Lưu thay đổi.
  4. Đảm bảo tệp thuộc tính thuộc quyền sở hữu của người dùng apigee như minh hoạ dưới đây:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. Khởi động lại Trình xử lý tin nhắn như minh hoạ dưới đây:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. Nếu bạn có nhiều Trình xử lý tin nhắn, hãy lặp lại các bước trên cho tất cả Trình xử lý tin nhắn.

Xác minh thời gian chờ duy trì hoạt động trên Trình xử lý thông báo

Phần này giải thích cách xác minh rằng bạn đã sửa đổi thành công thời gian chờ duy trì hoạt động trên Bộ xử lý thông báo.

Mặc dù bạn sử dụng cú pháp đặc biệt conf/http.properties+HTTPClient.keepalive.timeout.millis để đặt thời gian chờ duy trì hoạt động trên Trình xử lý thông báo, nhưng bạn cần xác minh xem thuộc tính thực tế HTTPClient.keepalive.timeout.millis đã được đặt bằng giá trị mới hay chưa.

  1. Trên máy Message Processor (Bộ xử lý thông báo), hãy tìm thuộc tính HTTPClient.keepalive.timeout.millis trong thư mục /opt/apigee/edge-message-processor/conf và kiểm tra xem thuộc tính này đã được đặt thành giá trị mới hay chưa như minh hoạ bên dưới:
    grep -ri "HTTPClient.keepalive.timeout.millis" /opt/apigee/edge-message-processor/conf
    
  2. Nếu bạn đặt thành công giá trị thời gian chờ duy trì hoạt động mới trên Trình xử lý thông báo, thì lệnh trên sẽ cho thấy giá trị mới trong tệp http.properties.

    Sau đây là kết quả mẫu từ lệnh trên sau khi bạn đã định cấu hình thời gian chờ duy trì hoạt động thành 30 giây:

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

    Trong ví dụ về đầu ra ở trên, hãy lưu ý rằng thuộc tính HTTPClient.keepalive.timeout.millis đã được đặt thành giá trị mới 30000 trong http.properties. Điều này cho biết bạn đã định cấu hình thành công thời gian chờ duy trì kết nối thành 30 giây trên Trình xử lý thông báo.

  3. Nếu bạn vẫn thấy giá trị cũ cho thuộc tính HTTPClient.keepalive.timeout.millis, hãy xác minh rằng bạn đã thực hiện đúng tất cả các bước được nêu trong phần Định cấu hình thời gian chờ duy trì hoạt động trên Trình xử lý thông báo. Nếu bạn bỏ lỡ bước nào, hãy lặp lại tất cả các bước một cách chính xác.
  4. Nếu bạn vẫn không thể sửa đổi thời gian chờ duy trì kết nối, hãy liên hệ với Nhóm hỗ trợ Apigee Edge của Google Cloud.