設定訊息處理工具的持續運作逾時

查看 Apigee Edge 說明文件。
前往 Apigee X說明文件
資訊

本文說明如何為 Apigee Edge 設定保持運作逾時 訊息處理器。

「訊息處理器」的保持運作逾時功能可讓一個 TCP 連線傳送和 接收來自/傳送至後端伺服器的多個 HTTP 要求/回應,而不是開啟新的 連線至每個要求/回應組合。

訊息處理器上保持運作逾時屬性的預設值是 60 秒。這項逾時期限適用於已設定的後端伺服器 並設定在目標端點設定的 ServiceCallout 政策中 並存取 API Proxy

您可以從預設值增加或減少「訊息處理器」的保持上線逾時設定 60的秒數。設定方式如下:

  • 在 API Proxy 中
    • 在目標端點
    • ServiceCallout 政策中
  • 在訊息處理器中

下列屬性可控制訊息處理器的保持上線逾時:

屬性名稱 位置 說明
keepalive.timeout.millis API Proxy:
  • 目標端點
  • ServiceCallout政策

這是「訊息處理器」允許單一 TCP 的閒置時間上限 連線,可傳送及接收多個 HTTP 要求/回應,而不是開啟新的 連線至每個要求/回應組合。

根據預設,這個屬性會採用 HTTPClient.keepalive.timeout.millis 屬性,其中 預設值為 60 秒。

如果此屬性以新的逾時值修改, 目標端點或特定 API Proxy 中的 ServiceCallout 政策,然後 則只會影響該特定目標伺服器的保持運作時間。

HTTPClient.keepalive.timeout.millis 訊息處理器

這是「訊息處理器」允許單一 TCP 的閒置時間上限 連線,可傳送及接收多個 HTTP 要求/回應,而不是開啟 每個要求/回應組合的新連線。

這個屬性用於這個訊息處理器上執行的所有 API Proxy。

此屬性的預設值為 60 秒。

您可以修改這項屬性,方法如下: 設定訊息處理器保持運作逾時 您也可以在 API Proxy 層級設定 keepalive.timeout.millis 屬性,藉此覆寫這個值。

事前準備

使用本文件中的步驟前,請務必先瞭解下列主題:

,瞭解如何調查及移除這項存取權。

設定 API Proxy 保持運作逾時

您可以在 API Proxy 的下列位置設定保持運作逾時:

  • 目標端點
  • ServiceCallout政策

設定 API Proxy 目標端點的保持運作逾時

本節說明如何在應用程式的目標端點 並存取 API Proxy您可以透過屬性設定保持運作逾時 keepalive.timeout.millis,代表 毫秒。

,瞭解如何調查及移除這項存取權。
  1. 在 Edge UI 中,選取要設定新 Pod 的特定 API Proxy 並保持運作逾時值。
  2. 選取您要修改的特定目標端點。
  3. keepalive.timeout.millis 下方 TargetEndpoint 設定中的 <HTTPTargetConnection> 元素。

    舉例來說,如要將保持運作的逾時時間變更為 30 秒,請新增 下列程式碼區塊:

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

    由於 keepalive.timeout.millis 屬性是以毫秒為單位,因此 30 秒為 30000

    以下範例說明如何在目標端點中設定保持運作逾時 設定:

    使用後端伺服器的網址的目標端點設定範例

    <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 Proxy 所做的變更。

在 API Proxy 的 ServiceSummary 政策中設定保持運作逾時

本節說明如何在 API Proxy 的 ServiceCallout 政策。 所設的 the keepalive.timeout.millis 屬性 並保持運作逾時值 (以毫秒為單位)

,瞭解如何調查及移除這項存取權。

如要在 ServiceCallout 政策中設定保持運作逾時,請使用 keepalive.timeout.millis 屬性:

  1. 在 Edge UI 中,選取要設定新 Pod 的特定 API Proxy 保留 ServiceCallout 政策的存留時間。
  2. 選取要修改的 ServiceCallout 政策。
  3. keepalive.timeout.millis TargetEndpoint 設定中的 <HTTPTargetConnection> 元素。

    舉例來說,如要將保持運作逾時設為 30 秒,請將 下列程式碼區塊:

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

    由於 keepalive.timeout.millis 屬性是以毫秒為單位,因此 30 秒為 30000

    下列範例說明如何在 API Proxy 的 ServiceCallout 政策:

    使用後端伺服器網址的服務摘要政策設定示例

    <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 Proxy 所做的變更。

設定訊息處理器保持運作逾時

本節說明如何在「訊息處理器」中設定「保持運作逾時」。 屬性可設定保持運作逾時 HTTPClient.keepalive.timeout.millis,代表保持運作逾時 以毫秒為單位。這項資源已留言 訊息處理器時,您必須使用特殊語法 conf/http.properties+HTTPClient.keepalive.timeout.millis (如本節所述) 設定目前已加註的權杖,位於 如何設定 Edge

如要設定訊息處理器的保持上線逾時,請按照下列步驟操作:

  1. 在訊息處理器電腦上,以編輯器開啟下列檔案。如果尚未建立值區,請先建立值區。
    /opt/apigee/customer/application/message-processor.properties
    

    舉例來說,如果要使用 vi,請輸入以下內容:

    vi /opt/apigee/customer/application/message-processor.properties
    
  2. 在屬性檔案中加入下列格式的 1 行,並將 TIME_IN_MILLISECONDS:
    conf/http.properties+HTTPClient.keepalive.timeout.millis=TIME_IN_MILLISECONDS
    

    例如,如要將「訊息處理器」的「保持運作」逾時,變更為 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. 如果您有多部訊息處理器,請針對所有 訊息處理器。

驗證訊息處理器保持運作逾時

本節說明如何驗證是否已成功修改持續逾時設定 訊息處理器

雖然您使用特殊語法 conf/http.properties+HTTPClient.keepalive.timeout.millis,即可設定保持運作 逾時,您必須驗證是否實際屬性 已將 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. 如果新的郵件處理程式成功設定新的保持運作逾時值,則 上述指令會顯示 http.properties 檔案中的新值。

    在您設定保持運作逾時後,上述指令的範例結果 到 30 秒如下:

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

    在上方輸出範例中,請注意 「HTTPClient.keepalive.timeout.millis」已設為新的值 「http.properties」的「30000」。這表示保留時間 訊息處理器已成功將逾時設為 30 秒。

  3. 仍會顯示該屬性的舊值 HTTPClient.keepalive.timeout.millis,然後確認你已追蹤所有 您在本課程中所述的步驟 設定訊息處理器保持運作逾時 正確。如果您漏掉任何步驟,請再次正確重複所有步驟。
  4. 如果仍無法修改保持運作逾時,請 Google Cloud Apigee Edge 支援