Konfigurowanie limitu czasu wejścia/wyjścia w procesorach

Przeglądasz dokumentację Apigee Edge.
Przejdź do Dokumentacja Apigee X.
informacje.

Ten dokument wyjaśnia, jak skonfigurować limit czasu wejścia-wyjścia dla procesorów Apigee Edge

Limit czasu wejścia-wyjścia w procesorze wiadomości reprezentuje czas, dla którego czeka na odpowiedź serwera backendu lub na przygotowanie gniazda do zapisu żądania wysyłane do serwera backendu przed upływem limitu czasu.

Domyślna wartość limitu czasu wejścia/wyjścia procesora wiadomości wynosi 55 seconds. Ten limit czasu obowiązuje okres do serwerów backendu skonfigurowanych w konfiguracji docelowego punktu końcowego oraz w metodzie ServiceCallout zasady serwera proxy interfejsu API.

Limit czasu wejścia-wyjścia dla procesorów wiadomości można zwiększyć lub zmniejszyć z domyślnej wartości 55 seconds. Możesz go skonfigurować w tych miejscach:

  • Na serwerze proxy API
    • Docelowy punkt końcowy
    • Zasady dotyczące wywołań usługi
  • Na procesorze wiadomości

Poniższe właściwości sterują limitem czasu wejścia-wyjścia w procesorach wiadomości:

Nazwa właściwości Lokalizacja Opis
io.timeout.millis

Serwer proxy interfejsu API:

  • Docelowy punkt końcowy
  • Zasady dotyczące objaśnień dotyczących usługi

Jest to maksymalny czas, przez który procesor wiadomości wykonuje te czynności:

  • Czekam na odpowiedź z serwera backendu po ustanowieniu połączenia i wysłania żądania do serwera backendu LUB
  • Czekam, aż gniazdo będzie gotowe, aż procesor wiadomości wyśle żądanie do do serwera backendu.

Jeśli w tym czasie nie ma odpowiedzi od serwera backendu, Upłynął limit czasu procesora wiadomości.

Domyślnie właściwość ta przyjmuje wartość ustawioną dla parametru HTTPTransport.io.timeout.millis w procesorze wiadomości. Wartością domyślną jest 55 seconds.

Jeśli ta właściwość zostanie zmieniona na nową wartość limitu czasu dla określonego serwera proxy interfejsu API, wtedy problem dotyczy tylko tego serwera proxy API.

HTTPTransport.io.timeout.millis procesor komunikatów

Jest to maksymalny czas, przez który procesor wiadomości wykonuje te czynności:

  • Czekam na odpowiedź z serwera backendu po nawiązaniu połączenia i wysyłanie żądania do serwera backendu LUB
  • Czekam, aż gniazdo będzie gotowe, aż procesor wiadomości wyśle żądanie do do serwera backendu.

Jeśli w tym czasie nie ma odpowiedzi od serwera backendu, Upłynął limit czasu procesora wiadomości.

Ta właściwość jest używana przez wszystkie serwery proxy interfejsów API działające na tym procesorze wiadomości.

Wartość domyślna tej właściwości to 55 seconds.

Możesz ją zmodyfikować, postępując zgodnie z Skonfiguruj czas oczekiwania wejścia-wyjścia w procesorach wiadomości. Możesz też zastąp tę wartość, ustawiając właściwość io.timeout.millis na poziomie interfejsu API. poziom serwera proxy.

Zanim zaczniesz

Przed użyciem kroków opisanych w tym dokumencie upewnij się, że rozumiesz następujące tematy:

.

Konfigurowanie limitu czasu wejścia-wyjścia na serwerze proxy API

Limit czasu wejścia-wyjścia można skonfigurować w tych miejscach serwera proxy interfejsu API:

  • Docelowy punkt końcowy
  • Zasady dotyczące wywołań usługi

Konfigurowanie limitu czasu wejścia-wyjścia w docelowym punkcie końcowym serwera proxy interfejsu API

Ta sekcja wyjaśnia, jak skonfigurować limit czasu wejścia-wyjścia w docelowym punkcie końcowym serwera proxy interfejsu API. Limit czasu wejścia-wyjścia można skonfigurować we właściwości io.timeout.millis, która reprezentuje limit czasu wejścia/wyjścia w milisekundach.

.
  1. W interfejsie Edge wybierz konkretny serwer proxy interfejsu API, w którym chcesz skonfigurować nowy Wartość limitu czasu wejścia-wyjścia.
  2. Wybierz konkretny docelowy punkt końcowy, który chcesz zmienić.
  3. Dodaj właściwość io.timeout.millis z odpowiednią wartością w kolumnie <HTTPTargetConnection> w konfiguracji TargetEndpoint.
  4. Aby na przykład zmienić limit czasu wejścia-wyjścia na 120 sekund, dodaj ten blok kodu:

        <Properties>
          <Property name="io.timeout.millis">120000</Property>
        </Properties>
    

    Właściwość io.timeout.millis jest podawana w milisekundach, więc wartość dla 120 sekund to 120000.

    Poniższe przykłady pokazują, jak skonfigurować limit czasu wejścia-wyjścia w docelowym punkcie końcowym konfiguracja Twojego 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="io.timeout.millis">120000</Property>
        </Properties>
      </HTTPTargetConnection>
    </TargetEndpoint>
    

    Przykładowa konfiguracja docelowego punktu końcowego przy użyciu serwera docelowego

    <TargetEndpoint name="default">
      <HTTPTargetConnection>
        <LoadBalancer>
          <Server name="target1" />
          <Server name="target2" />
        </LoadBalancer>
        <Properties>
          <Property name="io.timeout.millis">120000</Property>
        </Properties>
        <Path>/test</Path>
      </HTTPTargetConnection>
    </TargetEndpoint>
    
  5. Zapisz zmiany wprowadzone na serwerze proxy interfejsu API.

Konfigurowanie limitu czasu wejścia-wyjścia w zasadzie Serviceobjaśnienia serwera proxy interfejsu API

Z tej sekcji dowiesz się, jak skonfigurować limit czasu wejścia-wyjścia w zasadach ServiceCallout Proxy API. Limit czasu wejścia-wyjścia można skonfigurować za pomocą elementu <Timeout> lub właściwości io.timeout.millis. Zarówno element <Timeout>, jak i parametr Właściwość io.timeout.millis reprezentuje wartości czasu oczekiwania na operacje wejścia-wyjścia w milisekundach.

.

Limit czasu wejścia-wyjścia możesz skonfigurować w zasadzie ServiceCallout, korzystając z jednej z tych metod:

  • <Timeout> element.
  • io.timeout.millis.

Element limitu czasu

Aby skonfigurować limit czasu wejścia-wyjścia w zasadzie ServiceCallout za pomocą <Timeout> , wykonaj te czynności:

  1. W interfejsie Edge wybierz konkretny serwer proxy interfejsu API, na którym chcesz skonfigurować nową wartość limitu czasu wejścia-wyjścia dla zasady ServiceCallout.
  2. Wybierz konkretną zasadę dotyczącą objaśnień, którą chcesz zmienić.
  3. Dodaj element <Timeout> z odpowiednią wartością w kolumnie Konfiguracja <ServiceCallout>.

    Aby np. zmienić limit czasu wejścia-wyjścia na 120 sekund, dodaj ten wiersz kodu:

        <Timeout>120000</Timeout>
    

    Element <Timeout> jest podany w milisekundach, więc wartość dla 120 sekund to 120000.

    Ten przykład pokazuje, jak skonfigurować limit czasu wejścia-wyjścia w wywołań usługi za pomocą elementu <Timeout>:

    Przykładowa konfiguracja zasady objaśnienia usługi z użyciem adresu URL serwera backendu

    <ServiceCallout name="Service-Callout-1">
        <DisplayName>ServiceCallout-1</DisplayName>
        <Timeout>120000</Timeout>
        <HTTPTargetConnection>
            <Properties/>
            <URL>https://mocktarget.apigee.net/json</URL>
        </HTTPTargetConnection>
    </ServiceCallout>
    
  4. Zapisz zmiany wprowadzone na serwerze proxy interfejsu API.

Właściwość io.timeout.millis

Aby skonfigurować limit czasu wejścia-wyjścia w zasadzie ServiceCallout za pomocą metody io.timeout.millis, wykonaj te czynności:

  1. W interfejsie Edge wybierz konkretny serwer proxy interfejsu API, który chcesz skonfigurować nową wartość limitu czasu wejścia-wyjścia dla zasady ServiceCallout.
  2. Wybierz konkretną zasadę dotyczącą objaśnień, którą chcesz zmienić.
  3. Dodaj właściwość io.timeout.millis z odpowiednią wartością w kolumnie <HTTPTargetConnection> element w konfiguracji TargetEndpoint.

    Aby np. zmienić limit czasu wejścia-wyjścia na 120 sekund, dodaj następujący blok: kodu:

        <Properties>
          <Property name="io.timeout.millis">120000</Property>
        </Properties>
    

    Właściwość io.timeout.millis jest podawana w milisekundach, więc wartość dla 120 sekund to 120000.

    Poniższe przykłady pokazują, jak skonfigurować limit czasu wejścia-wyjścia w docelowym punkcie końcowym konfiguracja Twojego serwera proxy interfejsu API:

    Przykładowa konfiguracja zasady objaśnienia usługi z użyciem adresu URL serwera backendu

    <ServiceCallout name="Service-Callout-1">
        <DisplayName>ServiceCallout-1</DisplayName>
        <HTTPTargetConnection>
          <Properties>
            <Property name="io.timeout.millis">120000</Property>
          </Properties>
          <URL>https://mocktarget.apigee.net/json</URL>
        </HTTPTargetConnection>
    </ServiceCallout>
    

    Przykładowa konfiguracja zasad objaśnienia usługi z użyciem serwera docelowego

    <ServiceCallout enabled="true" name="Service-Callout-1">
        <DisplayName>ServiceCallout-1</DisplayName>
        <Response>calloutResponse</Response>
        <HTTPTargetConnection>
            <LoadBalancer>
                <Server name="target1" />
                <Server name="target2" />
            </LoadBalancer>
            <Properties>
                <Property name="io.timeout.millis">120000</Property>
            </Properties>
            <Path>/test</Path>
        </HTTPTargetConnection>
    </ServiceCallout>
    
  4. Zapisz zmiany wprowadzone na serwerze proxy interfejsu API.

Konfigurowanie limitu czasu wejścia-wyjścia w procesorach wiadomości

Ta sekcja zawiera instrukcje konfigurowania limitu czasu wejścia-wyjścia w procesorach wiadomości. Limit czasu wejścia-wyjścia można skonfigurować we właściwości HTTPTransport.io.timeout.millis, reprezentujący limit czasu wejścia-wyjścia w milisekundach w komponencie procesora wiadomości, używając tokena zgodnie ze składnią opisaną w Konfiguracja Edge.

.

Aby skonfigurować limit czasu wejścia-wyjścia w procesorach wiadomości, wykonaj te czynności:

  1. Na komputerze z procesorem wiadomości otwórz poniższy plik w edytorze. Jeśli nie już istnieje, a następnie ją utwórz.
    /opt/apigee/customer/application/message-processor.properties
    

    Aby na przykład otworzyć plik przy użyciu vi wpisz to polecenie:

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

    Aby na przykład zmienić limit czasu wejścia-wyjścia w procesorze wiadomości na 120 sekund, dodaj ten wiersz:

    conf_http_HTTPTransport.io.timeout.millis=120000
    
  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ż jeden procesor wiadomości, powtórz powyższe kroki dla wszystkich Procesory.

Weryfikowanie limitu czasu wejścia-wyjścia w procesorach wiadomości

W tej sekcji wyjaśniamy, jak sprawdzić, czy limit czasu wejścia-wyjścia został poprawnie zmieniony Procesory wiadomości.

Mimo że używasz tokena conf_http_HTTPTransport.io.timeout.millis do ustawiania Upłynął limit czasu wejścia-wyjścia na procesorze wiadomości. Musisz sprawdzić, czy rzeczywista usługa W polu HTTPTransport.io.timeout.millis ustawiono nową wartość.

  1. Na komputerze z procesorem wiadomości wyszukaj usługę HTTPTransport.io.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 "HTTPTransport.io.timeout.millis" /opt/apigee/edge-message-processor/conf
    
  2. Jeśli nowa wartość limitu czasu wejścia-wyjścia została poprawnie ustawiona w procesorze wiadomości, pokazuje nową wartość w pliku http.properties.
  3. Przykładowy wynik z powyższego polecenia po skonfigurowaniu limitu czasu wejścia-wyjścia 120 sekund wygląda tak:

    /opt/apigee/edge-message-processor/conf/http.properties:HTTPTransport.io.timeout.millis=120000
    

    Zwróć uwagę na to, że w przykładowych danych wyjściowych powyżej Parametr HTTPTransport.io.timeout.millis został ustawiony z nową wartością 120000 w http.properties Oznacza to, że limit czasu wejścia-wyjścia został skonfigurowany do 120 sekund w procesorze wiadomości.

  4. Jeśli nadal widzisz starą wartość właściwości HTTPTransport.io.timeout.millis, Następnie sprawdź, czy wykonano wszystkie czynności opisane w Prawidłowo skonfiguruj limit czasu wejścia-wyjścia w procesorach wiadomości. Jeśli pominął jakieś kroki, poprawnie powtórz wszystkie kroki.
  5. Jeśli nadal nie możesz zmienić limitu czasu wejścia-wyjścia, skontaktuj się z Obsługa Apigee Edge

Co dalej?

Więcej informacji o Konfigurowanie limitu czasu wejścia-wyjścia w routerach