Định cấu hình thời gian chờ kết nối 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ờ kết nối cho Trình xử lý thông báo Apigee Edge.

Thời gian chờ kết nối là thời gian mà Trình xử lý thông báo chờ thiết lập kết nối với máy chủ đích. Giá trị mặc định của thuộc tính thời gian chờ kết nối trên Trình xử lý thông báo là 3 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 đích 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ờ kết nối cho Trình xử lý thông báo so với giá trị mặc định là 3 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ờ kết nối trên Trình xử lý thông báo:

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

Đây là thời gian tối đa mà Trình xử lý thông báo chờ kết nối với máy chủ đích.

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

Nếu bạn sửa đổi thuộc tính này bằng một giá trị thời gian chờ mới cho máy chủ đích được liên kết với một proxy API, thì chỉ thời gian kết nối cho máy chủ đích đó mới bị ảnh hưởng.

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

Đây là thời gian tối đa mà Trình xử lý thông báo chờ kết nối với máy chủ đích.

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à 3 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ờ kết nối 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 connect.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:

  • Nếu bạn chưa quen với thời gian chờ kết nối, hãy xem phần mô tả thuộc tính connect.timeout.millis trong TargetEndpoint Transport Property Specification (Quy cách thuộc tính truyền tải TargetEndpoint).
  • Nếu bạn chưa quen với việc định cấu hình các thuộc tính cho Edge trên Đám mây riêng tư, hãy đọc bài viết Cách định cấu hình Edge.

Định cấu hình thời gian chờ kết nối trong proxy API

Bạn có thể định cấu hình thời gian chờ 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ờ kết nối trong điểm cuối mục tiêu của proxy API

Phần này giải thích cách định cấu hình thời gian chờ 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ờ kết nối thông qua thuộc tính connect.timeout.millis. Thuộc tính này biểu thị giá trị thời gian chờ 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ờ kết nối mới.
  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 connect.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ờ kết nối thành 5 giây, hãy thêm khối mã sau:

    <Properties>
      <Property name="connect.timeout.millis">5000</Property>
    </Properties>

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

    Các ví dụ sau đây cho thấy cách định cấu hình thời gian chờ kết nối 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="connect.timeout.millis">5000</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="connect.timeout.millis">5000</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ờ kết nối 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ờ 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ờ kết nối thông qua thuộc tính connect.timeout.millis. Thuộc tính này biểu thị giá trị thời gian kết nối tính bằng mili giây.

Để định cấu hình thời gian chờ kết nối trong chính sách ServiceCallout bằng cách sử dụng thuộc tính connect.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ờ 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 connect.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ờ kết nối thành 5 giây, hãy thêm khối mã sau:

    <Properties>
      <Property name="connect.timeout.millis">5000</Property>
    </Properties>

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

    Các ví dụ sau đây cho thấy cách định cấu hình thời gian chờ kết nối 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="connect.timeout.millis">5000</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="connect.timeout.millis">5000</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ờ kết nối 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ờ kết nối trên Trình xử lý thông báo. Bạn có thể định cấu hình thời gian chờ kết nối thông qua thuộc tính conf_http_HTTPClient.connect.timeout.millis. Thuộc tính này biểu thị giá trị thời gian chờ 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, bằng cách sử dụng mã thông báo theo cú pháp được mô tả trong bài viết Cách định cấu hình Edge.

Để định cấu hình thời gian chờ kết nối 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_HTTPClient.connect.timeout.millis=TIME_IN_MILLISECONDS

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

    conf_http_HTTPClient.connect.timeout.millis=5000
  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ờ kết nối trên Trình xử lý tin nhắn

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ờ kết nối trên Trình xử lý thông báo.

Mặc dù bạn sử dụng mã thông báo conf_http_HTTPClient.connect.timeout.millis để đặt thời gian chờ kết nối 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.connect.timeout.millis đã được đặt bằng giá trị mới hay chưa.

  1. Trên máy Message Processor, hãy tìm thuộc tính HTTPTransport.connect.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.connect.timeout.millis" /opt/apigee/edge-message-processor/conf
    
  2. Nếu bạn đặt thành công giá trị thời gian chờ kết nối 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.

    Kết quả mẫu từ lệnh ở trên sau khi bạn đã định cấu hình thời gian chờ kết nối thành 5 giây như sau:

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

    Trong ví dụ về đầu ra ở trên, hãy lưu ý rằng thuộc tính HTTPClient.connect.timeout.millis đã được đặt thành giá trị mới 5000 trong http.properties. Điều này cho biết bạn đã định cấu hình thời gian chờ kết nối thành công thành 5 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.connect.timeout.millis, hãy xác minh rằng bạn đã làm theo tất cả các bước được nêu trong phần Định cấu hình thời gian chờ kết nối trên Trình xử lý thông báo một cách chính xác. 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ờ kết nối, hãy liên hệ với Nhóm hỗ trợ Apigee Edge của Google Cloud.