Sprawdzone metody konfigurowania limitu czasu wejścia/wyjścia

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

Żądania interfejsu API wysyłane przez aplikacje klienckie przechodzą przez różne komponenty w Apigee Edge zanim dotrą do usług backendu. Większość aplikacji klienckich oczekuje, że odpowiedzi na te żądania zostaną odebrane w odpowiednim czasie.

Aby zapewnić szybkie odpowiedzi, wartości limitu czasu wejścia/wyjścia są ustawiane w każdym komponencie, przez który przechodzą żądania interfejsu API. Jeśli którykolwiek z komponentów w przepływie zajmuje więcej czasu niż poprzedni komponent, poprzedni komponent przekracza limit czasu i odpowiada błędami 504 Gateway Timeout.

Podczas konfigurowania limitu czasu należy zachować szczególną ostrożność przy ustawianiu wartości w każdym komponencie. W przeciwnym razie może to prowadzić do błędów 504 Gateway Timeout.

W tym dokumencie opisujemy sprawdzone metody konfigurowania limitu czasu wejścia/wyjścia w różnych komponentach, przez które przechodzą żądania interfejsu API w Apigee Edge.

Sprawdzone metody konfigurowania limitu czasu wejścia/wyjścia

Podczas konfigurowania limitu czasu wejścia/wyjścia stosuj te sprawdzone metody:

  • Pierwszy komponent: w pierwszym komponencie w przepływie żądania interfejsu API czyli w aplikacji klienckiej w Apigee Edge, zawsze używaj najwyższego limitu czasu.
  • Ostatni komponent: w ostatnim komponencie w przepływie żądania interfejsu API czyli w usłudze backendu w Apigee Edge, zawsze używaj najniższego limitu czasu.
  • Między komponentami: upewnij się, że różnica między wartościami limitu czasu skonfigurowanymi w poszczególnych komponentach między pierwszym a ostatnim komponentem w przepływie wynosi co najmniej 2–3 sekundy.
  • Router: zawsze warto skonfigurować (zmodyfikować) wartość limitu czasu wejścia/wyjścia dla konkretnego hosta wirtualnego, a nie dla routera. Dzięki temu nowa wartość limitu czasu będzie miała wpływ tylko na te serwery proxy interfejsu API, które używają konkretnego hosta wirtualnego, a nie na wszystkie serwery proxy interfejsu API obsługiwane przez router.

    Skonfiguruj (zmodyfikuj) limit czasu wejścia/wyjścia na routerze tylko wtedy, gdy masz pewność, że nowa wartość limitu czasu wejścia/wyjścia jest wymagana lub ma zastosowanie do wszystkich serwerów proxy interfejsu API działających na routerze.

  • Procesor komunikatów: zawsze warto skonfigurować (zmodyfikować) wartość limitu czasu wejścia-wyjścia dla konkretnego proxy interfejsu API, a nie dla procesora komunikatów. Dzięki temu nowa wartość limitu czasu będzie miała wpływ tylko na konkretny serwer proxy interfejsu API, a nie na wszystkie serwery proxy interfejsu API obsługiwane przez procesor komunikatów.

    Skonfiguruj (zmodyfikuj) limit czasu wejścia/wyjścia w procesorze komunikatów tylko wtedy, gdy masz pewność że nowa wartość limitu czasu wejścia/wyjścia jest wymagana lub ma zastosowanie do wszystkich serwerów proxy interfejsu API działających w procesorze komunikatów.

Przykładowe scenariusze

Scenariusze opisane w tej sekcji pomogą Ci zrozumieć, jak prawidłowo ustawić wartości limitu czasu wejścia/wyjścia.

Scenariusz 1. Żądania wysyłane bezpośrednio do Apigee Edge z aplikacji klienckich

W tej sekcji opisujemy sprawdzone metody, których należy przestrzegać podczas konfigurowania wartości limitu czasu w konfiguracji Apigee Edge, w której nie ma komponentów pośrednich między aplikacją kliencką a Apigee Edge oraz między Apigee Edge a serwerem backendu.

Przykładowa konfiguracja Apigee bez komponentów pośrednich

Przepływ rozpoczynający się od klienta, przechodzący przez router, następnie przez procesor komunikatów i wreszcie przez serwer backendu

Jeśli Apigee Edge jest skonfigurowane tak jak na powyższym diagramie, bez komponentów pośrednich, stosuj te sprawdzone metody:

  1. Aplikacja kliencka jest pierwszym komponentem w przepływie. W kliencie należy ustawić najwyższy limit czasu wartość.
  2. Serwer backendu jest ostatnim komponentem w przepływie. Na serwerze backendu należy ustawić najniższy limit czasu.
  3. Skonfiguruj wartości limitu czasu w każdym komponencie w tej kolejności:

    Skonfiguruj limit czasu na kliencie, a potem na routerze, procesorze komunikatów i serwerze backendu.

    Poniższy przykład pokazuje wartości limitu czasu ustawione w różnych komponentach zgodnie z powyższymi wytycznymi aby uniknąć problemów:

    Skonfiguruj limit czasu oczekiwania na klienta na 60 sekund, na router na 57 sekund, na procesor komunikatów na 55 sekund, a na serwer backendu na 52 sekundy.

Scenariusz 2. Żądania wysyłane do Apigee Edge z aplikacji klienckich przez komponenty pośrednie

W tej sekcji opisujemy sprawdzone metody, których należy przestrzegać podczas konfigurowania wartości limitu czasu w konfiguracji Apigee Edge, w której między aplikacją kliencką a Apigee Edge oraz między Apigee Edge a serwerem backendu znajduje się co najmniej 1 komponent pośredni.

Komponentami pośrednimi mogą być system równoważenia obciążenia, sieć dostarczania treści (CDN), NGINX itp.

Przykładowa konfiguracja Apigee z 1 komponentem pośrednim między klientem a Apigee Edge oraz między Apigee Edge a serwerem backendu

Przepływ rozpoczynający się na kliencie, przechodzący przez komponent pośredni 1, router, procesor komunikatów i komponent pośredni 2, a następnie docierający do serwera backendu.

Jeśli Apigee Edge jest skonfigurowane tak jak na powyższym diagramie, z co najmniej 1 komponentem pośrednim stosuj te sprawdzone metody:

  1. Aplikacja kliencka jest pierwszym komponentem w przepływie. W kliencie należy ustawić najwyższy limit czasu.
  2. Serwer backendu jest ostatnim komponentem w przepływie. Na serwerze backendu należy ustawić najniższy limit czasu.
  3. Skonfiguruj wartości limitu czasu w każdym komponencie, w tym w komponentach pośrednich, w tej kolejności:

    Skonfiguruj limit czasu na kliencie, a potem na Komponencie pośrednim 1, Routerze, procesorze komunikatów, Komponencie pośrednim 2 i Serwerze backendu.

    Poniższy przykład pokazuje wartości limitu czasu ustawione w różnych komponentach zgodnie z powyższymi wytycznymi aby uniknąć problemów:

    Skonfiguruj limit czasu oczekiwania na klienta na 63 sekundy, a potem na komponent pośredni 1 na 60 sekund, na router na 57 sekund, na procesor komunikatów na 55 sekund, na komponent pośredni 2 na 52 sekundy, a na serwer backendu na 59 sekund.