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

Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
Informacje

Ten dokument wyjaśnia, jak skonfigurować limit czasu utrzymywania aktywności dla procesorów wiadomości Apigee Edge.

Limit czasu utrzymywania aktywności w procesorze wiadomości pozwala pojedynczemu połączeniu TCP na wysyłanie i odbieranie wielu żądań/odpowiedzi HTTP z/do serwera backendu zamiast otwierania nowego połączenia dla każdej pary żądania/odpowiedzi.

Domyślna wartość właściwości limitu czasu utrzymywania aktywności w procesorze wiadomości wynosi 60 s. Ten limit czasu oczekiwania dotyczy serwerów backendu skonfigurowanych w konfiguracji docelowego punktu końcowego i w zasadzie ServiceCallout serwera proxy interfejsu API.

Limit czasu utrzymywania aktywności procesorów wiadomości możesz odpowiednio zwiększyć lub zmniejszyć z domyślnej wartości 60 s. Możesz to zrobić na kilka sposobów:

  • Na serwerze proxy interfejsu API
    • W docelowym punkcie końcowym
    • W zasadzie ServiceCallout
  • W procesorze wiadomości

Te właściwości kontrolują limit czasu utrzymywania aktywności w procesorach wiadomości:

nazwa usługi, Lokalizacja Opis
keepalive.timeout.millis Serwer proxy interfejsu API:
  • Docelowy punkt końcowy
  • Zasada ServiceCallout

Jest to maksymalny czas bezczynności, przez który procesor wiadomości zezwala pojedynczemu połączeniu TCP na wysyłanie i odbieranie wielu żądań/odpowiedzi HTTP, zamiast otwierać nowe połączenie dla każdej pary żądania/odpowiedzi.

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

Jeśli ta właściwość zostanie zmieniona przez nowy czas oczekiwania dla serwera docelowego używanego w docelowym punkcie końcowym lub zasadę ServiceCallout konkretnego serwera proxy interfejsu API, będzie to miało wpływ na czas utrzymywania aktywności tylko dla tego konkretnego serwera docelowego.

HTTPClient.keepalive.timeout.millis procesor komunikatów

Jest to maksymalny czas bezczynności, przez który procesor wiadomości zezwala pojedynczemu połączeniu TCP na wysyłanie i odbieranie wielu żądań/odpowiedzi HTTP, zamiast otwierać nowe połączenie dla każdej pary żądania/odpowiedzi.

Ta właściwość jest używana w przypadku wszystkich serwerów proxy interfejsu API działających w tym procesorze wiadomości.

Domyślna wartość tej właściwości wynosi 60 s.

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

Zanim zaczniesz

Zanim wykonasz czynności opisane w tym dokumencie, upewnij się, że rozumiesz następujące zagadnienia:

Konfigurowanie limitu czasu utrzymywania aktywności na serwerze proxy interfejsu API

Limit czasu utrzymywania aktywności można skonfigurować na serwerze proxy interfejsu API w tych miejscach:

  • Docelowy punkt końcowy
  • Zasada ServiceCallout

Konfigurowanie limitu czasu utrzymywania aktywności w docelowym punkcie końcowym serwera proxy interfejsu API

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

  1. W interfejsie użytkownika Edge wybierz konkretny serwer proxy interfejsu API, w którym chcesz skonfigurować nową wartość limitu czasu utrzymywania aktywności.
  2. Wybierz konkretny docelowy punkt końcowy, który chcesz zmienić.
  3. Dodaj właściwość keepalive.timeout.millis z odpowiednią wartością w elemencie <HTTPTargetConnection> w konfiguracji TargetEndpoint.

    Aby na przykład zmienić limit czasu utrzymywania aktywności na 30 s, dodaj ten blok kodu:

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

    Właściwość keepalive.timeout.millis jest wyrażona w milisekundach, więc wartość 30 s wynosi 30000.

    Poniższe przykłady pokazują, jak skonfigurować limit czasu utrzymywania aktywności w konfiguracji docelowego punktu końcowego serwera 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 do serwera proxy interfejsu API.

Konfigurowanie limitu czasu utrzymywania aktywności w zasadzie ServiceWykluczenie serwera proxy interfejsu API

Z tej sekcji dowiesz się, jak skonfigurować limit czasu utrzymywania aktywności w zasadzie ServiceCallout serwera proxy interfejsu API. Limit czasu utrzymywania aktywności można skonfigurować za pomocą właściwości the keepalive.timeout.millis, która reprezentuje wartość limitu czasu utrzymywania aktywności w milisekundach.

Aby skonfigurować limit czasu utrzymywania aktywności w zasadzie ServiceCallout za pomocą właściwości keepalive.timeout.millis:

  1. W interfejsie użytkownika Edge wybierz konkretny serwer proxy interfejsu API, w którym chcesz skonfigurować nową wartość limitu czasu utrzymywania aktywności dla zasady ServiceCallout.
  2. Wybierz 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ć limit czasu utrzymywania aktywności na 30 s, dodaj ten blok kodu:

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

    Właściwość keepalive.timeout.millis jest wyrażona w milisekundach, więc wartość 30 s wynosi 30000.

    W przykładach poniżej pokazujemy, jak skonfigurować limit czasu utrzymywania aktywności w zasadzie ServiceCallout serwera 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 do serwera proxy interfejsu API.

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

W tej sekcji wyjaśniono, jak skonfigurować limit czasu utrzymywania aktywności w procesorach wiadomości. Limit czasu utrzymywania aktywności można skonfigurować za pomocą właściwości HTTPClient.keepalive.timeout.millis, która reprezentuje wartość limitu czasu utrzymywania aktywności w milisekundach w komponencie procesora wiadomości. Ponieważ ta właściwość jest komentowana w procesorze wiadomości, musisz użyć specjalnej składni conf/http.properties+HTTPClient.keepalive.timeout.millis zgodnie z opisem w sekcji Ustawianie tokena, który jest obecnie komentowany w artykule Jak skonfigurować Edge.

Aby skonfigurować limit czasu utrzymywania aktywności w procesorach wiadomości, wykonaj te czynności:

  1. Na komputerze z procesorem wiadomości otwórz poniższy plik w edytorze. Jeśli jeszcze nie istnieje, utwórz go.
    /opt/apigee/customer/application/message-processor.properties
    

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

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

    Aby na przykład zmienić limit czasu utrzymywania aktywności w procesorze wiadomości na 30 s, dodaj ten wiersz:

    conf/http.properties+HTTPClient.keepalive.timeout.millis=30000
    
  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. Ponownie uruchom procesor wiadomości, jak pokazano poniżej:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. Jeśli masz więcej niż 1 procesor wiadomości, powtórz powyższe kroki na wszystkich procesorach.

Weryfikowanie limitu czasu utrzymywania aktywności w procesorach wiadomości

Ta sekcja wyjaśnia, jak sprawdzić, czy limit czasu utrzymywania aktywności został zmieniony w procesorach wiadomości.

Mimo że używasz specjalnej składni conf/http.properties+HTTPClient.keepalive.timeout.millis do ustawiania limitu czasu utrzymywania aktywności w procesorze wiadomości, musisz sprawdzić, czy właściwość HTTPClient.keepalive.timeout.millis ma ustawioną nową wartość.

  1. Na komputerze procesora wiadomości wyszukaj właściwość HTTPClient.keepalive.timeout.millis w katalogu /opt/apigee/edge-message-processor/conf i sprawdź, czy została ona ustawiona z nową wartością, jak pokazano poniżej:
    grep -ri "HTTPClient.keepalive.timeout.millis" /opt/apigee/edge-message-processor/conf
    
  2. Jeśli nowa wartość limitu czasu utrzymywania aktywności została ustawiona w procesorze wiadomości, powyższe polecenie wyświetli nową wartość w pliku http.properties.

    Przykładowy wynik powyższego polecenia po ustawieniu limitu czasu utrzymywania aktywności na 30 s będzie taki:

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

    W przykładowych danych wyjściowych powyżej widać, że właściwość HTTPClient.keepalive.timeout.millis została ustawiona w http.properties z nową wartością 30000. Wskazuje to, że limit czasu utrzymywania aktywności został skonfigurowany na 30 s w procesorze wiadomości.

  3. Jeśli nadal widzisz starą wartość właściwości HTTPClient.keepalive.timeout.millis, sprawdź, czy zostały przez Ciebie wykonane wszystkie czynności opisane w sekcji Konfigurowanie limitu czasu utrzymywania aktywności w procesorach wiadomości. Jeśli pominięto jakiś krok, powtórz wszystkie kroki ponownie.
  4. Jeśli nadal nie możesz zmienić limitu czasu utrzymywania aktywności, skontaktuj się z zespołem pomocy Apigee Edge w Google Cloud.