Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. Informacje
Domyślnie w Edge żądania i odpowiedzi HTTP są przechowywane w buforze w pamięci, zanim zostaną przetworzone przez zasady w serwerze proxy interfejsu API.
Jeśli strumieniowanie jest włączone, ładunki żądań i odpowiedzi są przesyłane bez zmian do aplikacji klienta (w przypadku odpowiedzi) i do punktu końcowego docelowego (w przypadku żądań). Strumieniowanie jest przydatne zwłaszcza wtedy, gdy aplikacja akceptuje lub zwraca duże ładunki lub gdy zwraca dane w kawałkach w ciągu czasu.
antywzorzec
Dostęp do ładunku żądania/odpowiedzi przy włączonym przesyłaniu strumieniowym powoduje, że Edge wraca do domyślnego trybu buforowania.
Ilustracja powyżej pokazuje, że próbujemy wyodrębnić zmienne z ładunku żądania i przekonwertować ładunek odpowiedzi JSON na XML za pomocą reguły JSONToXML. Spowoduje to wyłączenie strumieniowego przesyłania danych w Edge.
Wpływ
- Strumieniowanie zostanie wyłączone, co może spowodować wydłużenie czasu przetwarzania danych.
- W procesorach wiadomości można zaobserwować wzrost wykorzystania pamięci stosu lub błędy OutOfMemory spowodowane używaniem buforów w pamięci, zwłaszcza w przypadku dużych ładunków żądań/odpowiedzi.
Sprawdzona metoda
- Nie uzyskuj dostępu do ładunku żądania/odpowiedzi, gdy strumieniowanie jest włączone.