Đị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.
Chuyển đến tài liệu về 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 Bộ xử lý thư của Apigee Edge.

Thời gian chờ kết nối biểu thị 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ủ mục tiêu. 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 của Bộ xử lý thông báo từ giá trị mặc định là 3 giây tuỳ theo nhu cầu của mình. Có thể định cấu hình giá trị này theo các cách sau:

  • Trong proxy API
    • Trong điểm cuối đích
    • Trong chính sách ServiceCallout
  • Trên Bộ xử lý thư

Các thuộc tính sau kiểm soát thời gian chờ kết nối trên Bộ xử lý thông báo:

Tên tài sản Vị trí Nội dung mô tả
connect.timeout.millis Proxy API:
  • Điểm cuối mục tiêu
  • Chính sách của 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ủ mục tiêu.

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

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

HTTPClient.connect.timeout.millis Bộ xử lý thư

Đâ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 chạy trên Trình xử lý thư 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 Bộ xử lý thư 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õ những chủ đề sau:

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

Thời gian chờ kết nối có thể được định cấu hình trong proxy API ở những nơi sau:

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

Định cấu hình thời gian chờ kết nối 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ờ kết nối tại điểm cuối đích của proxy API. Thời gian chờ kết nối có thể được định cấu hình thông qua thuộc tính connect.timeout.millis. Thuộc tính này thể hiện 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 proxy API 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 đí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> của 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 minh hoạ 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 đích bằng cách sử dụ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 máy chủ đích

    <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 đã thực hiện đối với proxy API của bạn.

Định cấu hình thời gian chờ kết nối trong Chính sách Chú thích dịch vụ 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. Thời gian chờ kết nối có thể được định cấu hình thông qua thuộc tính connect.timeout.millis. Thuộc tính này thể hiện giá trị thời gian kết nối tính bằng mili giây.

Cách định cấu hình thời gian chờ kết nối trong chính sách ServiceCallout bằng thuộc tính connect.timeout.millis:

  1. Trong giao diện người dùng Edge, hãy chọn proxy API 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 chính sách ServiceCallout cụ thể mà bạn muốn sửa đổi.
  3. Thêm thuộc tính connect.timeout.millis với giá trị thích hợp trong phần tử <HTTPTargetConnection> của 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 minh hoạ 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 Chú thích dịch vụ sử dụ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>
    

    Cấu hình chính sách Chú thích dịch vụ mẫu bằng máy chủ mục tiêu

    <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 đã thực hiện đối với proxy API của bạn.

Định cấu hình thời gian chờ kết nối trên Bộ xử lý thư

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 Bộ xử lý thông báo. Thời gian chờ kết nối có thể được định cấu hình thông qua thuộc tính conf_http_HTTPClient.connect.timeout.millis. Thuộc tính này thể hiện 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 Bộ xử lý thông báo, hãy làm như sau:

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

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

    vi /opt/apigee/customer/application/message-processor.properties
    
  2. Thêm một dòng ở định dạng sau vào tệp thuộc tính, thay thế 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 Bộ 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 các thay đổi.
  4. Đảm bảo tệp thuộc tính do người dùng apigee sở hữu như minh hoạ bên dưới:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. Khởi động lại Bộ 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ý thông báo, hãy lặp lại các bước trên cho tất cả các Trình xử lý thông báo.

Xác minh thời gian chờ kết nối trên Trình xử lý thư

Phần này giải thích cách xác minh thời gian chờ kết nối đã được sửa đổi thành công trên Bộ 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 Bộ xử lý thông báo, nhưng bạn vẫn cần xác minh xem thuộc tính thực tế HTTPClient.connect.timeout.millis đã được đặt với giá trị mới hay chưa.

  1. Trên máy xử lý thư, hãy tìm thuộc tính HTTPTransport.connect.timeout.millis trong thư mục /opt/apigee/edge-message-processor/conf rồi kiểm tra xem thuộc tính này đã được thiết lập bằng giá trị mới hay chưa:
    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 Bộ xử lý thông báo, thì lệnh trên sẽ hiển thị giá trị mới trong tệp http.properties.

    Kết quả mẫu của 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 kết quả ví dụ ở trên, hãy lưu ý rằng thuộc tính HTTPClient.connect.timeout.millis đã được thiết lập bằng giá trị mới 5000 trong http.properties. Điều này cho biết thời gian chờ kết nối đã được định cấu hình 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 kiểm tra để đảm bảo bạn đã làm đúng tất cả các bước trong bài viết Định cấu hình thời gian chờ kết nối trên Bộ xử lý thông báo. Nếu bạn bỏ lỡ bất kỳ bước nào, hãy lặp lại tất cả các bước đúng cách một lần nữa.
  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 Bộ phận hỗ trợ API Edge của Google Cloud.