Konfigurowanie limitu czasu utrzymywania aktywności na procesorach wiadomości

Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
info

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

Czas oczekiwania na utrzymanie połączenia w procesorze komunikatów umożliwia wysyłanie i odbieranie wielu żądań/odpowiedzi HTTP z serwera backendu za pomocą jednego połączenia TCP zamiast otwierania nowego połączenia dla każdej pary żądanie/odpowiedź.

Domyślna wartość właściwości czasu oczekiwania na utrzymanie aktywności w procesorze komunikatów to 60 sekund. Ten czas oczekiwania dotyczy serwerów backendu skonfigurowanych w konfiguracji docelowego punktu końcowego oraz w zasadzie ServiceCallout proxy interfejsu API.

Czas oczekiwania na utrzymanie połączenia w procesorach wiadomości można zwiększyć lub zmniejszyć w zależności od potrzeb w stosunku do wartości domyślnej wynoszącej 60 sekund. Można go skonfigurować na te sposoby:

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

Te właściwości kontrolują czas oczekiwania na utrzymanie połączenia w procesorach wiadomości:

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

Jest to maksymalny czas bezczynności, przez który procesor komunikatów zezwala na wysyłanie i odbieranie wielu żądań/odpowiedzi HTTP za pomocą jednego połączenia TCP zamiast otwierania nowego połączenia dla każdej pary żądanie/odpowiedź.

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

Jeśli ta właściwość zostanie zmodyfikowana z nową wartością czasu oczekiwania dla serwera docelowego używanego w docelowym punkcie końcowym lub w zasadzie ServiceCallout w konkretnym proxy interfejsu API, wpłynie to tylko na czas oczekiwania na utrzymanie połączenia dla tego konkretnego serwera docelowego.

HTTPClient.keepalive.timeout.millis Procesor komunikatów

Jest to maksymalny czas bezczynności, przez który procesor komunikatów zezwala na wysyłanie i odbieranie wielu żądań/odpowiedzi HTTP za pomocą jednego połączenia TCP zamiast otwierania nowego połączenia dla każdej pary żądanie/odpowiedź.

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 60 sekund.

Możesz zmodyfikować tę właściwość zgodnie z opisem w sekcji Konfigurowanie czasu oczekiwania na utrzymanie połączenia w procesorach wiadomości poniżej lub zastąpić tę wartość, ustawiając keepalive.timeout.millis właściwość na poziomie proxy interfejsu API.

Zanim zaczniesz

Zanim zaczniesz korzystać z instrukcji podanych w tym dokumencie, zapoznaj się z tymi tematami:

Konfigurowanie czasu oczekiwania na utrzymanie połączenia w proxy interfejsu API

Czas oczekiwania na utrzymanie połączenia można skonfigurować w proxy interfejsu API w tych miejscach:

  • Docelowy punkt końcowy
  • Zasada ServiceCallout

Konfigurowanie czasu oczekiwania na utrzymanie połączenia w docelowym punkcie końcowym proxy interfejsu API

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

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

    Aby na przykład zmienić czas oczekiwania na utrzymanie połączenia na 30 sekund, dodaj ten blok kodu:

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

    Właściwość keepalive.timeout.millis jest podawana w milisekundach, więc wartość dla 30 sekund to 30000.

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

    Przykładowa konfiguracja docelowego punktu końcowego z użyciem adresu URL serwera backendu

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

    Przykładowa konfiguracja docelowego punktu końcowego z użyciem serwera docelowego

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

Konfigurowanie czasu oczekiwania na utrzymanie połączenia w zasadzie ServiceCallout proxy interfejsu API

W tej sekcji dowiesz się, jak skonfigurować czas oczekiwania na utrzymanie połączenia w ServiceCallout zasadzie proxy interfejsu API. Czas oczekiwania na utrzymanie połączenia można skonfigurować za pomocą właściwości the keepalive.timeout.millis, która reprezentuje wartość czasu oczekiwania na utrzymanie połączenia w milisekundach.

Aby skonfigurować czas oczekiwania na utrzymanie połączenia w zasadzie ServiceCallout za pomocą właściwości keepalive.timeout.millis:

  1. W interfejsie Edge wybierz konkretne proxy interfejsu API, w którym chcesz skonfigurować nową wartość czasu oczekiwania na utrzymanie połączenia w zasadzie ServiceCallout.
  2. Wybierz konkretną zasadę ServiceCallout, którą chcesz zmodyfikować.
  3. Dodaj właściwość keepalive.timeout.millis z odpowiednią wartością w elemencie <HTTPTargetConnection> w konfiguracji TargetEndpoint.

    Aby na przykład zmienić czas oczekiwania na utrzymanie połączenia na 30 sekund, dodaj ten blok kodu:

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

    Właściwość keepalive.timeout.millis jest podawana w milisekundach, więc wartość dla 30 sekund to 30000.

    Poniższe przykłady pokazują, jak skonfigurować czas oczekiwania na utrzymanie połączenia w ServiceCallout zasadzie proxy interfejsu API:

    Przykładowa konfiguracja zasady ServiceCallout z użyciem adresu URL serwera backendu

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

    Przykładowa konfiguracja zasady ServiceCallout z użyciem serwera docelowego

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

Konfigurowanie czasu oczekiwania na utrzymanie połączenia w procesorach wiadomości

W tej sekcji dowiesz się, jak skonfigurować czas oczekiwania na utrzymanie połączenia w procesorach wiadomości. Czas oczekiwania na utrzymanie aktywności można skonfigurować za pomocą właściwości HTTPClient.keepalive.timeout.millis, która reprezentuje wartość czasu oczekiwania na utrzymanie aktywności w milisekundach w komponencie procesora komunikatów. Ponieważ ta właściwość jest zakomentowana w procesorze komunikatów, musisz użyć specjalnej składni conf/http.properties+HTTPClient.keepalive.timeout.millis, jak opisano w sekcji Ustawianie tokena, który jest obecnie zakomentowany w artykule Konfigurowanie Edge.

Aby skonfigurować czas oczekiwania na utrzymanie połączenia w procesorach wiadomości:

  1. Na maszynie procesora 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.properties+HTTPClient.keepalive.timeout.millis=TIME_IN_MILLISECONDS

    Aby na przykład zmienić czas oczekiwania na utrzymanie połączenia w procesorze komunikatów na 30 sekund, dodaj ten wiersz:

    conf/http.properties+HTTPClient.keepalive.timeout.millis=30000
  3. Zapisz zmiany.
  4. Upewnij się, że właścicielem pliku właściwości jest użytkownik 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 czasu oczekiwania na utrzymanie połączenia w procesorach wiadomości

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

Mimo że do ustawienia czasu oczekiwania na utrzymanie połączenia w procesorze wiadomości używasz specjalnej składni conf/http.properties+HTTPClient.keepalive.timeout.millis , musisz sprawdzić, czy rzeczywista właściwość HTTPClient.keepalive.timeout.millis została ustawiona na nową wartość.

  1. Na maszynie procesora komunikatów wyszukaj właściwość HTTPClient.keepalive.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.keepalive.timeout.millis" /opt/apigee/edge-message-processor/conf
    
  2. Jeśli nowa wartość czasu oczekiwania na utrzymanie aktywności 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 czasu oczekiwania na utrzymanie połączenia na 30 sekund wygląda tak:

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

    W powyższym przykładzie zwróć uwagę, że właściwość HTTPClient.keepalive.timeout.millis została ustawiona na nową wartość 30000 w http.properties. Oznacza to, że czas oczekiwania na utrzymywanie aktywności został prawidłowo skonfigurowany na 30 sekund w procesorze komunikatów.

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