Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację
Apigee X. info
Jedną z unikalnych i przydatnych funkcji Apigee Edge jest możliwość opakowania aplikacji NodeJS w proxy interfejsu API. Dzięki temu deweloperzy mogą tworzyć aplikacje po stronie serwera oparte na zdarzeniach za pomocą Edge.
Antywzorzec
Wdrożenie proxy interfejsów API to proces udostępniania ich do obsługi żądań interfejsu API. Każde wdrożone proxy interfejsu API jest ładowane do pamięci środowiska wykonawczego procesora wiadomości, aby mogło obsługiwać żądania interfejsu API dla konkretnego proxy interfejsu API. Dlatego wykorzystanie pamięci środowiska wykonawczego rośnie wraz ze wzrostem liczby wdrożonych proxy interfejsów API. Pozostawienie wdrożonych nieużywanych proxy interfejsów API może spowodować niepotrzebne wykorzystanie pamięci środowiska wykonawczego.
W przypadku proxy interfejsów API NodeJS ma to dodatkowe konsekwencje.
Platforma uruchamia „aplikację Node” dla każdego wdrożonego proxy interfejsu API NodeJS. Aplikacja Node jest podobna do samodzielnej instancji serwera węzłów w procesie JVM procesora komunikatów.
W efekcie dla każdego wdrożonego proxy interfejsu API NodeJS Edge uruchamia serwer węzłów, aby przetwarzać żądania dotyczące odpowiednich proxy. Jeśli to samo proxy interfejsu API NodeJS jest wdrożone w wielu środowiskach, dla każdego środowiska uruchamiana jest odpowiednia aplikacja Node. W sytuacjach, gdy jest wiele wdrożonych, ale nieużywanych proxy interfejsów API NodeJS, uruchamianych jest wiele aplikacji Node. Nieużywane proxy NodeJS przekładają się na bezczynne aplikacje Node, które zużywają pamięć i wpływają na czas uruchamiania procesu aplikacji.
| Używane proxy | Nieużywane proxy | ||||
|---|---|---|---|---|---|
| # Proxy | # Wdrożone środowiska | # Uruchomione aplikacje Node | # Proxy | # Wdrożone środowiska | # Uruchomione aplikacje Node |
| 10 | dev, test, prod (3) | 10x3=30 | 12 | dev, test, prod (3) | 12x3=36 |
Na ilustracji powyżej uruchomiono 36 nieużywanych aplikacji Node, które zużywają pamięć systemową i mają negatywny wpływ na czas uruchamiania procesu.
Wpływ
- Wysokie wykorzystanie pamięci i efekt kaskadowy na zdolność aplikacji do przetwarzania kolejnych żądań
- Prawdopodobny wpływ na wydajność proxy interfejsów API, które faktycznie obsługują ruch
Sprawdzona metoda
- Wycofaj wdrożenie wszystkich nieużywanych proxy interfejsów API.
- Użyj panelu Proxy Performance w Analytics, aby określić, które proxy nie obsługują ruchu. Cofnij wdrożenie tych, których nie potrzebujesz.