Konfigurowanie limitu czasu połączenia w procesorach

Wyświetlasz dokumentację Apigee Edge.
Przejdź do dokumentacji Apigee X.
info

Z tego dokumentu dowiesz się, jak skonfigurować limit czasu połączenia dla procesorów wiadomości Apigee Edge.

Limit czasu połączenia to czas, przez jaki procesor komunikatów czeka na nawiązanie połączenia z serwerem docelowym. Domyślna wartość właściwości limitu czasu połączenia w procesorze komunikatów to 3 sekundy. Ten limit czasu dotyczy serwerów backendu skonfigurowanych w konfiguracji docelowego punktu końcowego oraz w ServiceCallout zasadach proxy interfejsu API.

Limit czasu połączenia dla procesorów wiadomości można zwiększyć lub zmniejszyć w zależności od potrzeb w stosunku do wartości domyślnej wynoszącej 3 sekundy. Można go skonfigurować na te sposoby:

  • W proxy interfejsu API
    • W docelowym punkcie końcowym
    • W zasadach ServiceCallout
  • W procesorze komunikatów

Następujące właściwości kontrolują limit czasu połączenia w procesorach wiadomości:

Nazwa właściwości Lokalizacja Opis
connect.timeout.millis Proxy interfejsu API:
  • Docelowy punkt końcowy
  • Zasady ServiceCallout

Jest to maksymalny czas, przez jaki procesor komunikatów czeka na połączenie z serwerem docelowym.

Domyślnie ta właściwość przyjmuje wartość ustawioną dla HTTPClient.connect.timeout.millis właściwości w procesorze komunikatów, gdzie wartość domyślna to 3 sekundy.

Jeśli ta właściwość zostanie zmodyfikowana z nową wartością limitu czasu dla serwera docelowego powiązanego z proxy interfejsu API, wpłynie to tylko na czas połączenia z tym serwerem docelowym.

HTTPClient.connect.timeout.millis Procesor komunikatów

Jest to maksymalny czas, przez jaki procesor komunikatów czeka na połączenie z serwerem docelowym.

Ta właściwość jest używana w przypadku wszystkich proxy interfejsów API działających w tym procesorze komunikatów.

Domyślna wartość tej właściwości to 3 sekundy.

Możesz zmodyfikować tę właściwość w sposób opisany w Konfigurowanie limitu czasu połączenia w procesorach wiadomości poniżej lub zastąpić tę wartość ustawiając właściwość connect.timeout.millis na poziomie proxy interfejsu API.

Zanim zaczniesz

Zanim wykonasz czynności opisane w tym dokumencie, zapoznaj się z tymi tematami:

Konfigurowanie limitu czasu połączenia w proxy interfejsu API

Limit czasu połączenia można skonfigurować w proxy interfejsu API w tych miejscach:

  • Docelowy punkt końcowy
  • Zasady ServiceCallout

Konfigurowanie limitu czasu połączenia w docelowym punkcie końcowym proxy interfejsu API

W tej sekcji dowiesz się, jak skonfigurować limit czasu połączenia w docelowym punkcie końcowym proxy interfejsu API. Limit czasu połączenia można skonfigurować za pomocą właściwości connect.timeout.millis, która reprezentuje wartość limitu czasu połączenia w milisekundach.

  1. W interfejsie Edge wybierz konkretne proxy interfejsu API, w którym chcesz skonfigurować nową wartość limitu czasu połączenia.
  2. Wybierz konkretny docelowy punkt końcowy, który chcesz zmodyfikować.
  3. Dodaj właściwość connect.timeout.millis z odpowiednią wartością w elemencie <HTTPTargetConnection> w konfiguracji TargetEndpoint.

    Aby na przykład zmienić limit czasu połączenia na 5 sekund, dodaj ten blok kodu:

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

    Właściwość connect.timeout.millis jest podawana w milisekundach, więc wartość dla 5 sekund to 5000.

    Poniższe przykłady pokazują, jak skonfigurować limit czasu połączenia w konfiguracji docelowego punktu końcowego proxy interfejsu API:

    Przykładowa konfiguracja docelowego punktu końcowego z adresem URL serwera backendu

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

    Przykładowa konfiguracja docelowego punktu końcowego z serwerem docelowym

    <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. Zapisz zmiany wprowadzone w proxy interfejsu API.

Konfigurowanie limitu czasu połączenia w zasadach ServiceCallout proxy interfejsu API

W tej sekcji dowiesz się, jak skonfigurować limit czasu połączenia w zasadach ServiceCallout proxy interfejsu API. Limit czasu połączenia można skonfigurować za pomocą właściwości connect.timeout.millis, która reprezentuje wartość czasu połączenia w milisekundach.

Aby skonfigurować limit czasu połączenia w zasadach ServiceCallout za pomocą właściwości connect.timeout.millis:

  1. W interfejsie Edge wybierz konkretne proxy interfejsu API, w którym chcesz skonfigurować nową wartość limitu czasu połączenia dla zasad ServiceCallout.
  2. Wybierz konkretne zasady ServiceCallout, które chcesz zmodyfikować.
  3. Dodaj właściwość connect.timeout.millis z odpowiednią wartością w elemencie <HTTPTargetConnection> w konfiguracji TargetEndpoint.

    Aby na przykład zmienić limit czasu połączenia na 5 sekund, dodaj ten blok kodu:

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

    Właściwość connect.timeout.millis jest podawana w milisekundach, więc wartość dla 5 sekund to 5000.

    Poniższe przykłady pokazują, jak skonfigurować limit czasu połączenia w ServiceCallout zasadach proxy interfejsu API:

    Przykładowa konfiguracja zasad ServiceCallout z adresem URL serwera backendu

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

    Przykładowa konfiguracja zasad ServiceCallout z serwerem docelowym

    <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. Zapisz zmiany wprowadzone w proxy interfejsu API.

Konfigurowanie limitu czasu połączenia w procesorach wiadomości

W tej sekcji dowiesz się, jak skonfigurować limit czasu połączenia w procesorach wiadomości. Limit czasu połączenia można skonfigurować za pomocą właściwości conf_http_HTTPClient.connect.timeout.millis, która reprezentuje wartość limitu czasu połączenia w milisekundach w komponencie procesora komunikatów, używając tokena zgodnie ze składnią opisaną w artykule Konfigurowanie Edge.

Aby skonfigurować limit czasu połączenia w procesorach wiadomości:

  1. Na komputerze z procesorem komunikatów otwórz ten plik w edytorze. Jeśli plik nie istnieje, utwórz go.
    /opt/apigee/customer/application/message-processor.properties

    Aby na przykład otworzyć plik za pomocą vi, wpisz:

    vi /opt/apigee/customer/application/message-processor.properties
    
  2. Dodaj wiersz w tym formacie do pliku właściwości, zastępując wartość dla TIME_IN_MILLISECONDS:
    conf_http_HTTPClient.connect.timeout.millis=TIME_IN_MILLISECONDS

    Aby na przykład zmienić limit czasu połączenia w procesorze komunikatów na 5 sekund, dodaj ten wiersz:

    conf_http_HTTPClient.connect.timeout.millis=5000
  3. Zapisz zmiany.
  4. Upewnij się, że plik właściwości należy do użytkownika apigee, jak pokazano poniżej:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. Uruchom ponownie procesor komunikatów, jak pokazano poniżej:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. Jeśli masz więcej niż 1 procesor komunikatów, powtórz powyższe czynności na wszystkich procesorach komunikatów.

Sprawdzanie limitu czasu połączenia w procesorach wiadomości

W tej sekcji dowiesz się, jak sprawdzić, czy limit czasu połączenia został prawidłowo zmodyfikowany w procesorach wiadomości.

Mimo że do ustawienia limitu czasu połączenia w procesorze komunikatów używasz tokena conf_http_HTTPClient.connect.timeout.millis, musisz sprawdzić, czy rzeczywista właściwość HTTPClient.connect.timeout.millis została ustawiona na nową wartość.

  1. Na komputerze z procesorem komunikatów wyszukaj właściwość HTTPTransport.connect.timeout.millis w katalogu /opt/apigee/edge-message-processor/conf i sprawdź, czy została ustawiona na nową wartość, jak pokazano poniżej:
    grep -ri "HTTPClient.connect.timeout.millis" /opt/apigee/edge-message-processor/conf
    
  2. Jeśli nowa wartość limitu czasu połączenia zostanie prawidłowo ustawiona w procesorze komunikatów, to powyższe polecenie wyświetli nową wartość w pliku http.properties.

    Przykładowy wynik powyższego polecenia po skonfigurowaniu limitu czasu połączenia na 5 sekund:

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

    W powyższym przykładzie danych wyjściowych zwróć uwagę, że właściwość HTTPClient.connect.timeout.millis została ustawiona na nową wartość 5000 w pliku http.properties. Oznacza to, że limit czasu połączenia został prawidłowo skonfigurowany na 5 sekund w procesorze wiadomości.

  3. Jeśli nadal widzisz starą wartość właściwości HTTPClient.connect.timeout.millis, sprawdź, czy prawidłowo wykonano wszystkie czynności opisane w Konfigurowanie limitu czasu połączenia w procesorach wiadomości prawidłowo. Jeśli pominiesz jakiś krok, powtórz wszystkie czynności.
  4. Jeśli nadal nie możesz zmodyfikować limitu czasu połączenia, skontaktuj się z zespołem pomocy Google Cloud Apigee Edge.