Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację
Apigee X. info
Z tego dokumentu dowiesz się, jak skonfigurować czas oczekiwania na wejście/wyjście w procesorach komunikatów Apigee Edge.
Czas oczekiwania na wejście/wyjście w procesorze komunikatów to czas, przez który procesor komunikatów czeka na otrzymanie odpowiedzi z serwera backendu lub na gotowość gniazda do zapisania żądania na serwerze backendu, zanim upłynie czas oczekiwania.
Domyślna wartość czasu oczekiwania na wejście/wyjście w procesorze komunikatów to 55 seconds. Ten czas oczekiwania
dotyczy serwerów backendu skonfigurowanych w konfiguracji docelowego punktu końcowego i w zasadzie ServiceCallout
proxy interfejsu API.
Czas oczekiwania na wejście/wyjście w procesorach komunikatów można zwiększyć lub zmniejszyć w stosunku do wartości domyślnej
55 seconds w zależności od potrzeb. Można go skonfigurować w tych miejscach:
- W proxy interfejsu API
- Docelowy punkt końcowy
- Zasada ServiceCallout
- W procesorze komunikatów
Te właściwości kontrolują czas oczekiwania na wejście/wyjście w procesorach komunikatów:
| Nazwa właściwości | Lokalizacja | Opis |
|---|---|---|
io.timeout.millis
|
Proxy interfejsu API:
|
Jest to maksymalny czas, przez który procesor komunikatów wykonuje te czynności:
Jeśli w tym czasie oczekiwania nie nadejdzie odpowiedź z serwera backendu, to procesor komunikatów przekroczy limit czasu.
Domyślnie ta właściwość przyjmuje wartość ustawioną dla właściwości
Jeśli ta właściwość zostanie zmodyfikowana i otrzyma nową wartość czasu oczekiwania dla konkretnego proxy interfejsu API, wpłynie to tylko na to proxy. |
HTTPTransport.io.timeout.millis
|
Procesor komunikatów |
Jest to maksymalny czas, przez który procesor komunikatów wykonuje te czynności:
Jeśli w tym czasie oczekiwania nie nadejdzie odpowiedź z serwera backendu, to procesor komunikatów przekroczy limit czasu. Ta właściwość jest używana w przypadku wszystkich proxy interfejsów API działających w tym procesorze komunikatów.
Domyślna wartość tej właściwości to
Możesz zmodyfikować tę właściwość zgodnie z opisem w
sekcji Konfigurowanie czasu oczekiwania na wejście/wyjście w procesorach komunikatów lub
zastąpić tę wartość, ustawiając właściwość |
Zanim zaczniesz
Zanim wykonasz czynności opisane w tym dokumencie, upewnij się, że rozumiesz te tematy:
- Jeśli nie znasz czasu oczekiwania na wejście/wyjście, zapoznaj się z opisem właściwości
io.timeout.millisw specyfikacji właściwości transportu TargetEndpoint. - Jeśli nie wiesz, jak skonfigurować właściwości Edge for Private Cloud, przeczytaj artykuł Jak skonfigurować Edge.
- Postępuj zgodnie z zaleceniami podanymi w artykule Sprawdzone metody konfigurowania czasu oczekiwania na wejście/wyjście.
Konfigurowanie czasu oczekiwania na wejście/wyjście w proxy interfejsu API
Czas oczekiwania na wejście/wyjście można skonfigurować w tych miejscach proxy interfejsu API:
- Docelowy punkt końcowy
- Zasada ServiceCallout
Konfigurowanie czasu oczekiwania na wejście/wyjście w docelowym punkcie końcowym proxy interfejsu API
W tej sekcji dowiesz się, jak skonfigurować czas oczekiwania na wejście/wyjście w docelowym punkcie końcowym proxy interfejsu API.
Czas oczekiwania na wejście/wyjście można skonfigurować za pomocą właściwości io.timeout.millis, która
reprezentuje wartość czasu oczekiwania na wejście/wyjście w milisekundach.
- W interfejsie Edge wybierz konkretne proxy interfejsu API, w którym chcesz skonfigurować nową wartość czasu oczekiwania na wejście/wyjście.
- Wybierz konkretny docelowy punkt końcowy, który chcesz zmodyfikować.
- Dodaj właściwość
io.timeout.millisz odpowiednią wartością w elemencie<HTTPTargetConnection>w konfiguracjiTargetEndpoint. - Zapisz zmiany wprowadzone w proxy interfejsu API.
Aby na przykład zmienić czas oczekiwania na wejście/wyjście na 120 sekund, dodaj ten blok kodu:
<Properties>
<Property name="io.timeout.millis">120000</Property>
</Properties>Właściwość io.timeout.millis jest podawana w milisekundach, więc wartość 120 sekund to 120000.
Poniższe przykłady pokazują, jak skonfigurować czas oczekiwania na wejście/wyjście w konfiguracji docelowego punktu końcowego konfiguracji 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 czasu oczekiwania na wejście/wyjście w zasadzie ServiceCallout proxy interfejsu API
W tej sekcji dowiesz się, jak skonfigurować czas oczekiwania na wejście/wyjście w zasadzie ServiceCallout proxy interfejsu API. Czas oczekiwania na wejście/wyjście można skonfigurować za pomocą elementu <Timeout>
lub właściwości io.timeout.millis. Zarówno element <Timeout>, jak i właściwość
io.timeout.millis reprezentują wartości czasu oczekiwania na wejście/wyjście w milisekundach.
Czas oczekiwania na wejście/wyjście w zasadzie ServiceCallout możesz skonfigurować za pomocą jednej z tych metod:
- Element
<Timeout>. - Właściwość
io.timeout.millis.
Element Timeout
Aby skonfigurować czas oczekiwania na wejście/wyjście w zasadzie ServiceCallout za pomocą elementu <Timeout>:
- W interfejsie Edge wybierz konkretne proxy interfejsu API, w którym chcesz skonfigurować nową wartość czasu oczekiwania na wejście/wyjście w zasadzie ServiceCallout.
- Wybierz konkretną zasadę ServiceCallout, którą chcesz zmodyfikować.
- Dodaj element
<Timeout>z odpowiednią wartością w konfiguracji<ServiceCallout>.Aby na przykład zmienić czas oczekiwania na wejście/wyjście na 120 sekund, dodaj ten wiersz kodu:
<Timeout>120000</Timeout>
Element
<Timeout>jest podawany w milisekundach, więc wartość 120 sekund to120000.Ten przykład pokazuje, jak skonfigurować czas oczekiwania na wejście/wyjście w zasadzie ServiceCallout za pomocą 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 w proxy interfejsu API.
Właściwość io.timeout.millis
Aby skonfigurować czas oczekiwania na wejście/wyjście w zasadzie ServiceCallout za pomocą właściwości
io.timeout.millis:
- W interfejsie Edge wybierz konkretne proxy interfejsu API, w którym chcesz skonfigurować nową wartość czasu oczekiwania na wejście/wyjście w zasadzie ServiceCallout.
- Wybierz konkretną zasadę ServiceCallout, którą chcesz zmodyfikować.
- Dodaj właściwość
io.timeout.millisz odpowiednią wartością w elemencie<HTTPTargetConnection>w konfiguracji TargetEndpoint.Aby na przykład zmienić czas oczekiwania na wejście/wyjście na 120 sekund, dodaj ten blok kodu:
<Properties> <Property name="io.timeout.millis">120000</Property> </Properties>Właściwość
io.timeout.millisjest podawana w milisekundach, więc wartość 120 sekund to120000.Poniższe przykłady pokazują, jak skonfigurować czas oczekiwania na wejście/wyjście w konfiguracji docelowego punktu końcowego konfiguracji 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 w proxy interfejsu API.
Konfigurowanie czasu oczekiwania na wejście/wyjście w procesorach komunikatów
W tej sekcji dowiesz się, jak skonfigurować czas oczekiwania na wejście/wyjście w procesorach komunikatów.
Czas oczekiwania na wejście/wyjście można skonfigurować za pomocą właściwości HTTPTransport.io.timeout.millis,
która reprezentuje wartość czasu oczekiwania na wejście/wyjście w milisekundach w komponencie procesora komunikatów,
używając tokena zgodnie ze składnią opisaną w
artykule Jak skonfigurować
Edge.
Aby skonfigurować czas oczekiwania na wejście/wyjście w procesorach komunikatów:
- Na maszynie procesora komunikatów otwórz ten plik w edytorze. Jeśli plik 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ść dla
TIME_IN_MILLISECONDS:
conf_http_HTTPTransport.io.timeout.millis=TIME_IN_MILLISECONDS
Aby na przykład zmienić czas oczekiwania na wejście/wyjście w procesorze komunikatów na 120 sekund, dodaj ten wiersz:
conf_http_HTTPTransport.io.timeout.millis=120000
- Zapisz zmiany.
- Upewnij się, że właścicielem pliku właściwości jest użytkownik
apigee, jak pokazano poniżej:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- Uruchom ponownie procesor komunikatów, jak pokazano poniżej:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Jeśli masz więcej niż 1 procesor komunikatów, powtórz powyższe czynności na wszystkich procesorach komunikatów.
Sprawdzanie czasu oczekiwania na wejście/wyjście w procesorach komunikatów
W tej sekcji dowiesz się, jak sprawdzić, czy czas oczekiwania na wejście/wyjście został prawidłowo zmodyfikowany w procesorach komunikatów.
Mimo że do ustawienia czasu oczekiwania na wejście/wyjście w procesorze komunikatów używasz tokena conf_http_HTTPTransport.io.timeout.millis, musisz sprawdzić, czy rzeczywista właściwość HTTPTransport.io.timeout.millis została ustawiona na nową wartość.
- Na maszynie procesora komunikatów wyszukaj właściwość
HTTPTransport.io.timeout.millisw katalogu/opt/apigee/edge-message-processor/confi sprawdź, czy została ustawiona na nową wartość, jak pokazano poniżej:grep -ri "HTTPTransport.io.timeout.millis" /opt/apigee/edge-message-processor/conf
- Jeśli nowa wartość czasu oczekiwania na wejście/wyjście zostanie prawidłowo ustawiona w procesorze komunikatów, 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 prawidłowo wykonano wszystkie czynności opisane w Konfigurowanie czasu oczekiwania na wejście/wyjście w procesorach komunikatów. Jeśli pominiesz jakiś krok, powtórz wszystkie czynności. - Jeśli nadal nie możesz zmodyfikować czasu oczekiwania na wejście/wyjście, skontaktuj się z zespołem pomocy Apigee Edge.
Przykładowy wynik powyższego polecenia po skonfigurowaniu czasu oczekiwania na wejście/wyjście na 120 sekund:
/opt/apigee/edge-message-processor/conf/http.properties:HTTPTransport.io.timeout.millis=120000
W powyższym przykładzie zwróć uwagę, że właściwość
HTTPTransport.io.timeout.millis została ustawiona na nową wartość 120000 w
http.properties. Oznacza to, że czas oczekiwania na wejście/wyjście został prawidłowo skonfigurowany
na 120 sekund w procesorze komunikatów.
Co dalej?
Więcej informacji o konfigurowaniu czasu oczekiwania na wejście/wyjście w routerach