Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
Edge umożliwia wywoływanie jednego serwera proxy interfejsu API z innego. Ta funkcja jest przydatna zwłaszcza wtedy, gdy masz serwer proxy API zawierający kod wielokrotnego użytku, którego można używać przez inne serwery proxy API.
Antywzór
wywołanie jednego serwera proxy interfejsu API z innego przy użyciu protokołu HTTPTargetConnection w docelowym punkcie końcowym lub niestandardowy kod JavaScript spowoduje dodatkowe przeskoki sieciowe.
Wywołaj serwer proxy 2 z serwera proxy 1 za pomocą protokołu HTTPTargetConnection
Następujący przykładowy kod wywołuje serwer proxy 2 z serwera proxy 1 przez HTTPTargetConnection:
<!-- /antipatterns/examples/2-1.xml --> <HTTPTargetConnection> <URL>http://myorg-test.apigee.net/proxy2</URL> </HTTPTargetConnection>
Wywołaj serwer proxy 2 z serwera proxy 1 z kodu JavaScript
Następny przykładowy kod wywołuje serwer proxy 2 z serwera proxy 1 przy użyciu JavaScriptu:
<!-- /antipatterns/examples/2-2.xml --> var response = httpClient.send('http://myorg-test.apigee.net/proxy2); response.waitForComplete();
Przepływ kodu
Aby zrozumieć, dlaczego ma to nieodłączną wadę, musimy zrozumieć, jak przebiega prośba jak pokazano na tym schemacie:
Jak to widać na schemacie, żądanie obejmuje wiele rozproszonych komponentów, w tym routera i procesor wiadomości.
W powyższych przykładach kodu wywołanie serwera proxy 2 z serwera proxy 1 oznacza, że żądanie musi zostać przekierowane. tradycyjną trasą (np.Router > MP) w czasie działania. Jest to podobne do wywoływania interfejsu API z klienta, co powoduje liczne przeskoki sieciowe i zwiększa opóźnienie. Te przeskoki są niepotrzebne, ponieważ żądanie do serwera proxy 1 zostało już „osiągnięte” poparcie dla parlamentu.
Wpływ
Wywołanie jednego serwera proxy interfejsu API z innego serwera proxy powoduje niepotrzebne przeskoki sieciowe, musi zostać przekazane z jednego procesora wiadomości do innego.
Sprawdzona metoda
- Użyj łańcucha serwerów proxy.
służąca do wywoływania serwerów proxy interfejsu API z innych. Łańcuch łańcuchów proxy działa lepiej
skuteczny, ponieważ wykorzystuje połączenie lokalne, aby odwoływać się do docelowego punktu końcowego (innego serwera proxy API).
Przykładowy kod pokazuje łańcuch łańcuchów proxy za pomocą LocalTargetConnection w Twoim punkcie końcowym definicja:
<!-- /antipatterns/examples/2-3.xml --> <LocalTargetConnection> <APIProxy>proxy2</APIProxy> <ProxyEndpoint>default</ProxyEndpoint> </LocalTargetConnection>
Wywoływany serwer proxy interfejsu API jest uruchamiany w ramach tego samego procesora wiadomości. w efekcie pozwala uniknąć przeskok sieciowy zgodnie z tą ilustracją: