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
Jeśli Apigee Edge jest skonfigurowane tak jak na powyższym diagramie, bez komponentów pośrednich, stosuj te sprawdzone metody:
- Aplikacja kliencka jest pierwszym komponentem w przepływie. W kliencie należy ustawić najwyższy limit czasu wartość.
- Serwer backendu jest ostatnim komponentem w przepływie. Na serwerze backendu należy ustawić najniższy limit czasu.
- Skonfiguruj wartości limitu czasu w każdym komponencie w tej kolejności:
Poniższy przykład pokazuje wartości limitu czasu ustawione w różnych komponentach zgodnie z powyższymi wytycznymi aby uniknąć problemów:
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
Jeśli Apigee Edge jest skonfigurowane tak jak na powyższym diagramie, z co najmniej 1 komponentem pośrednim stosuj te sprawdzone metody:
- Aplikacja kliencka jest pierwszym komponentem w przepływie. W kliencie należy ustawić najwyższy limit czasu.
- Serwer backendu jest ostatnim komponentem w przepływie. Na serwerze backendu należy ustawić najniższy limit czasu.
- Skonfiguruj wartości limitu czasu w każdym komponencie, w tym w komponentach pośrednich, w tej kolejności:
Poniższy przykład pokazuje wartości limitu czasu ustawione w różnych komponentach zgodnie z powyższymi wytycznymi aby uniknąć problemów: