設定訊息處理器的連線逾時

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

本文說明如何設定 Apigee Edge 訊息處理器的連線逾時。

連線逾時代表訊息處理器等待建立的時間。 連線至目標伺服器連線逾時屬性的預設值 訊息處理器為 3 秒。這項逾時期限適用於 其下的後端伺服器 API Proxy 的 ServiceCallout 政策。

視您的需求而定,訊息處理器的連線逾時時間可增加或從預設值 (3 秒) 增加。設定方式如下:

  • 在 API Proxy 中
    • 在目標端點
    • ServiceCallout 政策中
  • 在訊息處理器中
,瞭解如何調查及移除這項存取權。

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

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

這是訊息處理者等待與目標伺服器連線的時間上限。

根據預設,這個屬性會採用 訊息處理器的 HTTPClient.connect.timeout.millis 屬性, 預設值為 3 秒。

如果修改此屬性時,使用的是相關聯目標伺服器的新逾時值 使用 API Proxy,那麼只有該目標伺服器的連線時間會受到影響。

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

這是訊息處理程式在連線至目標伺服器的時間上限。

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

此屬性的預設值為 3 秒。

您可以修改此屬性,如 所述 請在下方設定訊息處理器的連線逾時設定,或是覆寫這個值 只要在 API Proxy 層級設定 connect.timeout.millis 屬性即可。

事前準備

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

設定 API Proxy 的連線逾時

您可以在 API Proxy 的以下位置設定連線逾時:

  • 目標端點
  • ServiceCallout政策

設定 API Proxy 目標端點的連線逾時

本節說明如何在 API Proxy 的目標端點中設定連線逾時。 您可以透過屬性 connect.timeout.millis 設定連線逾時。 這代表連線逾時值 (以毫秒為單位)

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

    舉例來說,如要將連線逾時變更為 5 秒,請將 下列程式碼區塊:

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

    由於 connect.timeout.millis 屬性是以毫秒為單位,因此 5 秒為 5000

    以下範例說明如何設定目標端點的連線逾時 設定:

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

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

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

    <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. 儲存對 API Proxy 所做的變更。

在 API Proxy 的 ServiceSummary 政策中設定連線逾時

本節說明如何在 ServiceCallout 中設定連線逾時 定義您的 API Proxy 政策您可以透過 connect.timeout.millis 屬性,代表 毫秒。

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

如要在 ServiceCallout 政策中設定連線逾時,請使用以下指令: connect.timeout.millis 屬性:

  1. 在 Edge UI 中,選取要設定新 Pod 的特定 API Proxy ServiceCallout 政策的連線逾時值。
  2. 選取要修改的 ServiceCallout 政策。
  3. connect.timeout.millis TargetEndpoint 設定中的 <HTTPTargetConnection> 元素。

    舉例來說,如要將連線逾時變更為 5 秒,請新增下列程式碼區塊:

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

    由於 connect.timeout.millis 屬性是以毫秒為單位,因此 5 秒為 5000

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

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

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

    使用目標伺服器的服務摘要政策設定示例

    <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. 儲存對 API Proxy 所做的變更。

設定訊息處理器的連線逾時

本節說明如何在「訊息處理器」中設定連線逾時。 您可以透過屬性設定連線逾時 conf_http_HTTPClient.connect.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_HTTPClient.connect.timeout.millis=TIME_IN_MILLISECONDS
    

    舉例來說,如要將訊息處理器的連線逾時變更為 5 秒, 新增下列程式碼:

    conf_http_HTTPClient.connect.timeout.millis=5000
    
  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_HTTPClient.connect.timeout.millis 權杖設定 訊息處理器的連線逾時,您必須驗證是否為實際屬性。 已將 HTTPClient.connect.timeout.millis 設為新值。

  1. 在訊息處理器電腦上搜尋屬性 HTTPTransport.connect.timeout.millis/opt/apigee/edge-message-processor/conf 目錄,並查看該目錄是否 已經設定新的值,如下所示:
    grep -ri "HTTPClient.connect.timeout.millis" /opt/apigee/edge-message-processor/conf
    
  2. 如果已成功在訊息處理器上設定新的連線逾時值,則 上述指令會顯示 http.properties 檔案中的新值。

    您在設定連線逾時時間後,來自上述指令的結果範例 5 秒如下:

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

    請注意,在上方的輸出範例中,請注意屬性 HTTPClient.connect.timeout.millis 已在 http.properties 中以新值 5000 進行設定。這表示 訊息連線逾時的設定已成功設為 5 秒 處理器。

  3. 如果仍看到 HTTPClient.connect.timeout.millis 屬性的舊值, 請確認您已遵循 設定訊息處理器的連線逾時 正確。如果您漏掉任何步驟,請再次正確重複所有步驟。
  4. 如果仍無法修改連線逾時,請與 Google Cloud Apigee Edge 支援團隊聯絡。