Antipattern: pozostaw wdrożone nieużywane serwery proxy interfejsu NodeJS API interfejsu API

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

Jedną z unikalnych i przydatnych funkcji Apigee Edge jest możliwość dodania aplikacji NodeJS do serwera proxy interfejsu API. Umożliwia to programistom tworzenie po stronie serwera aplikacji opartych na zdarzeniach za pomocą Edge.

Antywzór

Wdrażanie serwerów proxy API to proces udostępniania ich do obsługi żądań do interfejsu API. Każda z wdrożonych serwerów proxy interfejsu API jest wczytywana do pamięci środowiska wykonawczego procesora wiadomości, aby obsługiwać żądania do interfejsu API dla określonego serwera proxy interfejsu API. Dlatego wykorzystanie pamięci w środowisku wykonawczym wzrasta wraz ze wzrostem liczby wdrożonych serwerów proxy interfejsu API. Pozostawienie nieużywanych serwerów proxy API może spowodować niepotrzebne wykorzystanie pamięci środowiska wykonawczego.

W przypadku serwerów proxy interfejsu NodeJS API wiąże się to z kolejnymi konsekwencjami.

Platforma uruchamia „aplikację węzła” dla każdego wdrożonego serwera proxy interfejsu NodeJS API. Aplikacja węzła jest podobna do niezależnej instancji serwera węzłów w procesie JVM procesora wiadomości.

Oznacza to, że dla każdego wdrożonego serwera proxy interfejsu NodeJS API przeglądarka Edge uruchamia serwer węzłów przetwarzający żądania odpowiednich serwerów proxy. Jeśli ten sam serwer proxy interfejsu NodeJS API jest wdrożony w wielu środowiskach, w każdym z nich zostanie uruchomiona odpowiednia aplikacja węzła. Jeśli jest wiele wdrożonych, ale nieużywanych serwerów proxy NodeJS API, uruchomionych jest wiele aplikacji węzła. Nieużywane serwery proxy NodeJS są przekładane na aplikacje bezczynne Node, które wykorzystują pamięć i wpływają na czasy uruchamiania procesu aplikacji.

Używane serwery proxy Nieużywane serwery proxy
Liczba serwerów proxy # wdrożone środowiska Uruchomiono # aplikacji węzłów Liczba serwerów proxy # wdrożone środowiska Uruchomiono # aplikacje węzłów
10 programowanie, testowanie, produkcja (3) 10x3=30 12 programowanie, testowanie, produkcja (3) 12x3=36

Na ilustracji powyżej uruchomiono 36 nieużywanych aplikacji węzłów, które wykorzystują pamięć systemową i niekorzystnie wpływają na czasy uruchamiania procesu.

Wpływ

  • Wysokie wykorzystanie pamięci i kaskadowy wpływ na zdolność aplikacji do przetwarzania kolejnych żądań
  • Prawdopodobny wpływ na wydajność serwerów proxy interfejsu API, które faktycznie obsługują ruch

Sprawdzona metoda

  • Wycofaj wdrożenie nieużywanych serwerów proxy API
  • Użyj panelu wydajności serwera proxy Analytics, aby ustalić, które serwery proxy nie obsługują ruchu; wycofaj wdrożenie tych, których nie potrzebujesz

Więcej informacji