Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. Informacje
Ten dokument wyjaśnia, jak skonfigurować limit czasu połączenia dla procesorów wiadomości Apigee Edge.
Limit czasu połączenia oznacza czas, przez który procesor wiadomości czeka na nawiązanie połączenia z serwerem docelowym. Domyślna wartość właściwości „Limit czasu połączenia” w procesorze wiadomości to 3
s. Ten okres oczekiwania ma zastosowanie do serwerów backendu skonfigurowanych w konfiguracji docelowego punktu końcowego i w zasadzie ServiceCallout
serwera proxy interfejsu API.
Limit czasu połączenia przez procesory wiadomości możesz odpowiednio zwiększyć lub zmniejszyć z domyślnej wartości 3
s. Możesz to zrobić na kilka sposobów:
- Na serwerze proxy interfejsu API
- W docelowym punkcie końcowym
- W zasadzie
ServiceCallout
- W procesorze wiadomości
Te właściwości kontrolują limit czasu połączenia z procesorami wiadomości:
nazwa usługi, | Lokalizacja | Opis |
---|---|---|
connect.timeout.millis |
Serwer proxy interfejsu API:
|
Jest to maksymalny czas oczekiwania procesora wiadomości na połączenie z serwerem docelowym.
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 serwera docelowego powiązanego z serwerem proxy interfejsu API, będzie to miało wpływ tylko na czas połączenia z tym serwerem docelowym. |
HTTPClient.connect.timeout.millis |
procesor komunikatów |
Jest to maksymalny czas oczekiwania procesora wiadomości na połączenie z serwerem docelowym. Ta właściwość jest używana w przypadku wszystkich serwerów proxy interfejsu API działających w tym procesorze wiadomości.
Domyślna wartość tej właściwości wynosi
Możesz zmodyfikować tę właściwość zgodnie z opisem w sekcji
Konfigurowanie limitu czasu połączenia przez procesory wiadomości poniżej 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 ustawić limit czasu połączenia, przeczytaj opis właściwości
connect.timeout.millis
w specyfikacji właściwości transportu w docelowym punkcie końcowym. - Jeśli nie wiesz, jak skonfigurować właściwości Edge w Private Cloud, przeczytaj artykuł o konfigurowaniu Edge.
Konfigurowanie limitu czasu połączenia na serwerze proxy interfejsu API
Limit czasu połączenia można skonfigurować na serwerze proxy interfejsu API w tych miejscach:
- Docelowy punkt końcowy
- Zasada
ServiceCallout
Konfigurowanie limitu czasu połączenia w docelowym punkcie końcowym serwera proxy interfejsu API
Z tej sekcji dowiesz się, jak skonfigurować limit czasu połączenia w docelowym punkcie końcowym serwera proxy interfejsu API.
Limit czasu połączenia można skonfigurować za pomocą właściwości connect.timeout.millis
, która odpowiada wartości limitu czasu połączenia w milisekundach.
- W interfejsie użytkownika Edge wybierz konkretny serwer proxy interfejsu API, w którym chcesz skonfigurować nową wartość limitu czasu połączenia.
- Wybierz konkretny docelowy punkt końcowy, który chcesz zmienić.
- Dodaj właściwość
connect.timeout.millis
z odpowiednią wartością w elemencie<HTTPTargetConnection>
w konfiguracjiTargetEndpoint
.Aby np. zmienić limit czasu połączenia na
5
s, dodaj ten blok kodu:<Properties> <Property name="connect.timeout.millis">5000</Property> </Properties>
Właściwość
connect.timeout.millis
jest wyrażona w milisekundach, więc wartość5
s wynosi5000
.Poniższe przykłady pokazują, jak ustawić limit czasu połączenia 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="connect.timeout.millis">5000</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="connect.timeout.millis">5000</Property> </Properties> <Path>/test</Path> </HTTPTargetConnection> </TargetEndpoint>
- Zapisz zmiany wprowadzone do serwera proxy interfejsu API.
Konfigurowanie limitu czasu połączenia w zasadzie ServiceCallout dotyczącej serwera proxy interfejsu API
W tej sekcji dowiesz się, jak skonfigurować limit czasu połączenia w zasadzie ServiceCallout
serwera proxy interfejsu API. Limit czasu połączenia można skonfigurować za pomocą właściwości connect.timeout.millis
, która reprezentuje wartość czasu połączenia w milisekundach.
Aby skonfigurować limit czasu połączenia w zasadzie ServiceCallout
za pomocą właściwości connect.timeout.millis
:
- W interfejsie użytkownika Edge wybierz konkretny serwer proxy interfejsu API, w którym chcesz skonfigurować nową wartość limitu czasu połączenia dla zasady
ServiceCallout
. - Wybierz zasadę
ServiceCallout
, którą chcesz zmodyfikować. - Dodaj właściwość
connect.timeout.millis
z odpowiednią wartością w elemencie<HTTPTargetConnection>
w konfiguracjiTargetEndpoint
.Aby np. zmienić limit czasu połączenia na
5
s, dodaj ten blok kodu:<Properties> <Property name="connect.timeout.millis">5000</Property> </Properties>
Właściwość
connect.timeout.millis
jest wyrażona w milisekundach, więc wartość5
s wynosi5000
.W przykładach poniżej pokazujemy, jak skonfigurować limit czasu połączenia w zasadzie
ServiceCallout
serwera proxy interfejsu API:Przykładowa konfiguracja zasady ServiceCallout z użyciem adresu URL serwera backendu
<ServiceCallout name="Service-Callout-1"> <DisplayName>Service Callout-1</DisplayName> <HTTPTargetConnection> <Properties> <Property name="connect.timeout.millis">5000</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>Service Callout-1</DisplayName> <Response>calloutResponse</Response> <HTTPTargetConnection> <LoadBalancer> <Server name="target1" /> <Server name="target2" /> </LoadBalancer> <Properties> <Property name="connect.timeout.millis">5000</Property> </Properties> <Path>/test</Path> </HTTPTargetConnection> </ServiceCallout>
- Zapisz zmiany wprowadzone do serwera proxy interfejsu API.
Konfigurowanie limitu czasu połączenia w procesorach wiadomości
W tej sekcji wyjaśniono, jak skonfigurować limit czasu połączenia w procesorach wiadomości.
Limit czasu połączenia można skonfigurować za pomocą właściwości conf_http_HTTPClient.connect.timeout.millis
, która reprezentuje wartość limitu czasu połączenia w milisekundach w komponencie procesora wiadomości zgodnie ze składnią opisaną w artykule
Jak skonfigurować Edge.
Aby skonfigurować limit czasu połączenia przez procesory 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ą polecenia
vi
, wpisz: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_HTTPClient.connect.timeout.millis=TIME_IN_MILLISECONDS
Aby na przykład zmienić limit czasu połączenia przez procesor wiadomości na
5
s, dodaj ten wiersz:conf_http_HTTPClient.connect.timeout.millis=5000
- 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.
Sprawdzanie limitu czasu połączenia przez procesory wiadomości
W tej sekcji dowiesz się, jak sprawdzić, czy limit czasu połączenia został zmieniony w procesorach wiadomości.
Mimo że używasz tokena conf_http_HTTPClient.connect.timeout.millis
do ustawiania limitu czasu połączenia w procesorze wiadomości, musisz sprawdzić, czy właściwość HTTPClient.connect.timeout.millis
ma ustawioną nową wartość.
- Na komputerze procesora wiadomości wyszukaj właściwość
HTTPTransport.connect.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 "HTTPClient.connect.timeout.millis" /opt/apigee/edge-message-processor/conf
- Jeśli nowa wartość limitu czasu połączenia zostanie ustawiona w procesorze wiadomości, powyższe polecenie wyświetli nową wartość w pliku
http.properties
.Przykładowy wynik powyższego polecenia po ustawieniu limitu czasu połączenia na
5
s:/opt/apigee/edge-message-processor/conf/http.properties:HTTPClient.connect.timeout.millis=5000
W przykładowych danych wyjściowych powyżej można zauważyć, że właściwość
HTTPClient.connect.timeout.millis
została ustawiona whttp.properties
z nową wartością5000
. Oznacza to, że limit czasu połączenia w procesorze wiadomości został ustawiony na5
s. - Jeśli nadal widzisz starą wartość właściwości
HTTPClient.connect.timeout.millis
, sprawdź, czy zostały wykonane wszystkie czynności opisane w sekcji Konfigurowanie limitu czasu połączenia w procesorach wiadomości. Jeśli pominięto jakiś krok, powtórz wszystkie kroki ponownie. - Jeśli nadal nie możesz zmienić limitu czasu połączenia, skontaktuj się z zespołem pomocy Apigee Edge w Google Cloud.