Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. Informacje
Ten dokument wyjaśnia, jak skonfigurować limit czasu wejścia/wyjścia dla procesorów wiadomości Apigee Edge.
Limit czasu wejścia/wyjścia w procesorze wiadomości oznacza czas oczekiwania na odpowiedź z serwera backendu lub na przygotowanie gniazda do zapisania żądania do serwera backendu, zanim upłynie limit czasu.
Domyślna wartość limitu czasu wejścia/wyjścia dla procesora wiadomości to 55 seconds
. Ten limit czasu oczekiwania dotyczy serwerów backendu skonfigurowanych w konfiguracji docelowego punktu końcowego oraz w zasadach ServiceCallout z serwera proxy interfejsu API.
Limit czasu wejścia/wyjścia operacji wejścia-wyjścia dla procesorów wiadomości możesz odpowiednio zwiększyć lub zmniejszyć z domyślnej wartości 55 seconds
. Możesz ją skonfigurować w tych miejscach:
- Na serwerze proxy interfejsu API
- Docelowy punkt końcowy
- Zasady dotyczące objaśnień dotyczących usług
- W procesorze wiadomości
Te właściwości kontrolują czas oczekiwania wejścia-wyjścia w procesorach wiadomości:
Nazwa właściwości | Lokalizacja | Opis |
---|---|---|
io.timeout.millis
|
Serwer proxy interfejsu API:
|
W tym czasie procesor wiadomości może wykonywać te czynności:
Jeśli w tym czasie nie ma odpowiedzi z serwera backendu, następuje przekroczenie limitu czasu oczekiwania procesora wiadomości.
Domyślnie ta właściwość przyjmuje wartość ustawioną dla właściwości Jeśli ta właściwość zostanie zmodyfikowana nową wartością limitu czasu dla określonego serwera proxy interfejsu API, będzie to miało wpływ tylko na ten serwer proxy API. |
HTTPTransport.io.timeout.millis
|
procesor komunikatów |
W tym czasie procesor wiadomości może wykonywać te czynności:
Jeśli w tym czasie nie ma odpowiedzi z serwera backendu, następuje przekroczenie limitu czasu oczekiwania procesora wiadomości. Ta właściwość jest używana w przypadku wszystkich serwerów proxy interfejsu API działających w tym procesorze wiadomości.
Wartość domyślna tej właściwości to
Możesz zmodyfikować tę właściwość zgodnie z opisem w sekcji Konfigurowanie limitu czasu wejścia-wyjścia w procesorach wiadomości lub zastąpić tę wartość, ustawiając właściwość |
Zanim zaczniesz
Zanim wykonasz czynności opisane w tym dokumencie, upewnij się, że rozumiesz następujące zagadnienia:
- Jeśli nie wiesz, jak używać limitu czasu wejścia-wyjścia, przeczytaj opis właściwości
io.timeout.millis
w specyfikacji właściwości transportu w docelowym punkcie końcowym. - Jeśli nie wiesz, jak konfigurować właściwości Edge dla Private Cloud, przeczytaj artykuł o konfigurowaniu Edge.
- Postępuj zgodnie z zaleceniami opisanymi w artykule Sprawdzone metody konfigurowania limitu czasu wejścia-wyjścia.
Konfigurowanie limitu czasu operacji wejścia-wyjścia na serwerze proxy interfejsu API
Limit czasu wejścia-wyjścia można skonfigurować w tych miejscach serwera proxy interfejsu API:
- Docelowy punkt końcowy
- Zasady dotyczące objaśnień dotyczących usług
Konfigurowanie limitu czasu wejścia/wyjścia w docelowym punkcie końcowym serwera proxy interfejsu API
Z tej sekcji dowiesz się, jak skonfigurować limit czasu wejścia-wyjścia w docelowym punkcie końcowym serwera proxy interfejsu API.
Limit czasu wejścia/wyjścia można skonfigurować za pomocą właściwości io.timeout.millis
, która reprezentuje wartość limitu czasu wejścia/wyjścia w milisekundach.
- W interfejsie użytkownika Edge wybierz konkretny serwer proxy interfejsu API, w którym chcesz skonfigurować nową wartość limitu czasu wejścia/wyjścia.
- Wybierz konkretny docelowy punkt końcowy, który chcesz zmienić.
- Dodaj właściwość
io.timeout.millis
z odpowiednią wartością w elemencie<HTTPTargetConnection>
w konfiguracjiTargetEndpoint
. - Zapisz zmiany wprowadzone do serwera proxy interfejsu API.
Aby na przykład zmienić limit czasu wejścia/wyjścia na 120 sekund, dodaj ten blok kodu:
<Properties> <Property name="io.timeout.millis">120000</Property> </Properties>
Właściwość io.timeout.millis
jest wyrażona w milisekundach, dlatego wartość 120 sekund wynosi 120000
.
Z tych przykładów dowiesz się, jak ustawić limit czasu wejścia-wyjścia w konfiguracji docelowego punktu końcowego serwera proxy interfejsu API:
Przykładowa konfiguracja docelowego punktu końcowego z użyciem adresu URL serwera backendu
<TargetEndpoint name="default"> <HTTPTargetConnection> <URL>https://mocktarget.apigee.net/json</URL> <Properties> <Property name="io.timeout.millis">120000</Property> </Properties> </HTTPTargetConnection> </TargetEndpoint>
Przykładowa konfiguracja docelowego punktu końcowego z użyciem serwera docelowego
<TargetEndpoint name="default"> <HTTPTargetConnection> <LoadBalancer> <Server name="target1" /> <Server name="target2" /> </LoadBalancer> <Properties> <Property name="io.timeout.millis">120000</Property> </Properties> <Path>/test</Path> </HTTPTargetConnection> </TargetEndpoint>
Konfigurowanie limitu czasu wejścia-wyjścia w zasadzie ServiceWykluczenie serwera proxy interfejsu API
Z tej sekcji dowiesz się, jak skonfigurować limit czasu wejścia/wyjścia w zasadzie ServiceCallout na serwerze proxy interfejsu API. Limit czasu wejścia-wyjścia można skonfigurować za pomocą elementu <Timeout>
lub właściwości io.timeout.millis
. Zarówno element <Timeout>
, jak i właściwości io.timeout.millis
podają wartości limitu czasu wejścia-wyjścia w milisekundach.
Limit czasu wejścia-wyjścia możesz skonfigurować w zasadzie wywołania usługi, korzystając z jednej z tych metod:
- Element
<Timeout>
. io.timeout.millis
.
Element limitu czasu
Aby skonfigurować limit czasu wejścia-wyjścia w zasadzie ServiceCallout przy użyciu elementu <Timeout>
, wykonaj te czynności:
- W interfejsie użytkownika Edge wybierz konkretny serwer proxy interfejsu API, w którym chcesz skonfigurować nową wartość limitu czasu wejścia/wyjścia dla zasady ServiceCallout.
- Wybierz konkretną zasadę objaśnienia usługi, którą chcesz zmienić.
- Dodaj element
<Timeout>
z odpowiednią wartością w konfiguracji<ServiceCallout>
.Aby na przykład zmienić limit czasu wejścia-wyjścia na 120 sekund, dodaj ten wiersz kodu:
<Timeout>120000</Timeout>
Ponieważ element
<Timeout>
jest wyrażony w milisekundach, wartość dla 120 sekund wynosi120000
.Poniższy przykład pokazuje, jak skonfigurować limit czasu wejścia-wyjścia w zasadzie ServiceCallout przy użyciu elementu
<Timeout>
:Przykładowa konfiguracja zasady ServiceCallout z użyciem adresu URL serwera backendu
<ServiceCallout name="Service-Callout-1"> <DisplayName>ServiceCallout-1</DisplayName> <Timeout>120000</Timeout> <HTTPTargetConnection> <Properties/> <URL>https://mocktarget.apigee.net/json</URL> </HTTPTargetConnection> </ServiceCallout>
- Zapisz zmiany wprowadzone do serwera proxy interfejsu API.
Właściwość io.timeout.millis
Aby skonfigurować limit czasu wejścia-wyjścia w zasadzie ServiceCallout za pomocą właściwości io.timeout.millis
, wykonaj te czynności:
- W interfejsie użytkownika Edge wybierz konkretny serwer proxy interfejsu API, w którym chcesz skonfigurować nową wartość limitu czasu wejścia/wyjścia dla zasady ServiceCallout.
- Wybierz konkretną zasadę objaśnienia usługi, którą chcesz zmienić.
- Dodaj właściwość
io.timeout.millis
z odpowiednią wartością w elemencie<HTTPTargetConnection>
w konfiguracji TargetEndpoint.Aby na przykład zmienić limit czasu wejścia-wyjścia na 120 sekund, dodaj ten blok kodu:
<Properties> <Property name="io.timeout.millis">120000</Property> </Properties>
Właściwość
io.timeout.millis
jest wyrażona w milisekundach, dlatego wartość 120 sekund wynosi120000
.Z tych przykładów dowiesz się, jak ustawić limit czasu wejścia-wyjścia w konfiguracji docelowego punktu końcowego serwera proxy interfejsu API:
Przykładowa konfiguracja zasady ServiceCallout z użyciem adresu URL serwera backendu
<ServiceCallout name="Service-Callout-1"> <DisplayName>ServiceCallout-1</DisplayName> <HTTPTargetConnection> <Properties> <Property name="io.timeout.millis">120000</Property> </Properties> <URL>https://mocktarget.apigee.net/json</URL> </HTTPTargetConnection> </ServiceCallout>
Przykładowa konfiguracja zasady ServiceCallout z użyciem serwera docelowego
<ServiceCallout enabled="true" name="Service-Callout-1"> <DisplayName>ServiceCallout-1</DisplayName> <Response>calloutResponse</Response> <HTTPTargetConnection> <LoadBalancer> <Server name="target1" /> <Server name="target2" /> </LoadBalancer> <Properties> <Property name="io.timeout.millis">120000</Property> </Properties> <Path>/test</Path> </HTTPTargetConnection> </ServiceCallout>
- Zapisz zmiany wprowadzone do serwera proxy interfejsu API.
Konfigurowanie czasu oczekiwania operacji wejścia-wyjścia w procesorach wiadomości
W tej sekcji wyjaśniono, jak skonfigurować limit czasu wejścia/wyjścia w procesorach wiadomości.
Limit czasu wejścia/wyjścia można skonfigurować za pomocą właściwości HTTPTransport.io.timeout.millis
, która reprezentuje wyrażoną w milisekundach wartość limitu czasu wejścia/wyjścia w komponencie procesora wiadomości, przy użyciu tokena zgodnie ze składnią opisaną w sekcji Jak skonfigurować Edge.
Aby skonfigurować limit czasu wejścia-wyjścia w procesorach wiadomości, wykonaj te czynności:
- Na komputerze z procesorem wiadomości otwórz poniższy plik w edytorze. Jeśli jeszcze nie istnieje, utwórz go.
/opt/apigee/customer/application/message-processor.properties
Aby na przykład otworzyć plik za pomocą
vi
, wpisz to polecenie:vi /opt/apigee/customer/application/message-processor.properties
- Dodaj do pliku właściwości wiersz w tym formacie, zastępując wartość TIME_IN_MILLISECONDS wartością:
conf_http_HTTPTransport.io.timeout.millis=TIME_IN_MILLISECONDS
Aby na przykład zmienić limit czasu wejścia-wyjścia w procesorze wiadomości na 120 sekund, dodaj ten wiersz:
conf_http_HTTPTransport.io.timeout.millis=120000
- Zapisz zmiany.
- Upewnij się, że plik właściwości należy do użytkownika
apigee
, jak pokazano poniżej:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- Ponownie uruchom procesor wiadomości, jak pokazano poniżej:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Jeśli masz więcej niż 1 procesor wiadomości, powtórz powyższe kroki na wszystkich procesorach.
Weryfikowanie limitu czasu operacji wejścia-wyjścia w procesorach wiadomości
Ta sekcja wyjaśnia, jak sprawdzić, czy limit czasu wejścia-wyjścia został zmieniony w procesorach wiadomości.
Mimo że do ustawiania czasu oczekiwania wejścia-wyjścia w procesorze wiadomości używasz tokena conf_http_HTTPTransport.io.timeout.millis
, musisz sprawdzić, czy właściwość HTTPTransport.io.timeout.millis
ma ustawioną nową wartość.
- Na komputerze procesora wiadomości wyszukaj właściwość
HTTPTransport.io.timeout.millis
w katalogu/opt/apigee/edge-message-processor/conf
i sprawdź, czy została ona ustawiona z nową wartością, jak pokazano poniżej:grep -ri "HTTPTransport.io.timeout.millis" /opt/apigee/edge-message-processor/conf
- Jeśli nowa wartość limitu czasu wejścia-wyjścia zostanie ustawiona w procesorze wiadomości, powyższe polecenie wyświetli nową wartość w pliku
http.properties
. - Jeśli nadal widzisz starą wartość właściwości
HTTPTransport.io.timeout.millis
, sprawdź, czy zostały wykonane wszystkie czynności opisane w artykule Konfigurowanie limitu czasu wejścia/wyjścia w procesorach wiadomości. Jeśli pominięto jakiś krok, powtórz wszystkie kroki ponownie. - Jeśli nadal nie możesz zmienić czasu oczekiwania na operacje wejścia-wyjścia, skontaktuj się z zespołem pomocy Apigee Edge.
Przykładowy wynik powyższego polecenia po skonfigurowaniu limitu czasu wejścia-wyjścia na 120 sekund będzie wyglądał tak:
/opt/apigee/edge-message-processor/conf/http.properties:HTTPTransport.io.timeout.millis=120000
W powyższych przykładowych danych wyjściowych zwróć uwagę, że właściwość HTTPTransport.io.timeout.millis
została ustawiona w http.properties
z nową wartością 120000
. Wskazuje to, że limit czasu wejścia-wyjścia został skonfigurowany na 120 sekundach w procesorze wiadomości.
Co dalej?
Dowiedz się więcej o konfigurowaniu limitu czasu wejścia/wyjścia w routerach