Wyświetlasz dokumentację Apigee Edge.
Przejdź do
dokumentacji Apigee X. info
Z tego dokumentu dowiesz się, jak skonfigurować limit czasu połączenia dla procesorów wiadomości Apigee Edge.
Limit czasu połączenia to czas, przez jaki procesor komunikatów czeka na nawiązanie połączenia z serwerem docelowym. Domyślna wartość właściwości limitu czasu połączenia w procesorze komunikatów to 3 sekundy. Ten limit czasu dotyczy serwerów backendu skonfigurowanych w konfiguracji docelowego punktu końcowego oraz w ServiceCallout zasadach proxy interfejsu API.
Limit czasu połączenia dla procesorów wiadomości można zwiększyć lub zmniejszyć w zależności od potrzeb w stosunku do wartości domyślnej wynoszącej 3 sekundy. Można go skonfigurować na te sposoby:
- W proxy interfejsu API
- W docelowym punkcie końcowym
- W zasadach
ServiceCallout
- W procesorze komunikatów
Następujące właściwości kontrolują limit czasu połączenia w procesorach wiadomości:
| Nazwa właściwości | Lokalizacja | Opis |
|---|---|---|
connect.timeout.millis |
Proxy interfejsu API:
|
Jest to maksymalny czas, przez jaki procesor komunikatów czeka na połączenie z serwerem docelowym.
Domyślnie ta właściwość przyjmuje wartość ustawioną dla
Jeśli ta właściwość zostanie zmodyfikowana z nową wartością limitu czasu dla serwera docelowego powiązanego z proxy interfejsu API, wpłynie to tylko na czas połączenia z tym serwerem docelowym. |
HTTPClient.connect.timeout.millis |
Procesor komunikatów |
Jest to maksymalny czas, przez jaki procesor komunikatów czeka na połączenie z serwerem docelowym. 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ść w sposób opisany w
Konfigurowanie limitu czasu połączenia w procesorach wiadomości poniżej lub zastąpić tę wartość
ustawiając właściwość |
Zanim zaczniesz
Zanim wykonasz czynności opisane w tym dokumencie, zapoznaj się z tymi tematami:
- Jeśli nie znasz limitu czasu połączenia, zapoznaj się z opisem właściwości
connect.timeout.millisw specyfikacji właściwości transportu TargetEndpoint. - Jeśli nie wiesz, jak skonfigurować właściwości Edge w Private Cloud, przeczytaj artykuł Konfigurowanie Edge.
Konfigurowanie limitu czasu połączenia w proxy interfejsu API
Limit czasu połączenia można skonfigurować w proxy interfejsu API w tych miejscach:
- Docelowy punkt końcowy
- Zasady
ServiceCallout
Konfigurowanie limitu czasu połączenia w docelowym punkcie końcowym proxy interfejsu API
W tej sekcji dowiesz się, jak skonfigurować limit czasu połączenia w docelowym punkcie końcowym proxy interfejsu API.
Limit czasu połączenia można skonfigurować za pomocą właściwości connect.timeout.millis,
która reprezentuje wartość limitu czasu połączenia w milisekundach.
- W interfejsie Edge wybierz konkretne proxy interfejsu API, w którym chcesz skonfigurować nową wartość limitu czasu połączenia.
- Wybierz konkretny docelowy punkt końcowy, który chcesz zmodyfikować.
- Dodaj właściwość
connect.timeout.millisz odpowiednią wartością w elemencie<HTTPTargetConnection>w konfiguracjiTargetEndpoint.Aby na przykład zmienić limit czasu połączenia na
5sekund, dodaj ten blok kodu:<Properties> <Property name="connect.timeout.millis">5000</Property> </Properties>
Właściwość
connect.timeout.millisjest podawana w milisekundach, więc wartość dla5sekund to5000.Poniższe przykłady pokazują, jak skonfigurować limit czasu połączenia w konfiguracji docelowego punktu końcowego proxy interfejsu API:
Przykładowa konfiguracja docelowego punktu końcowego z adresem 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 serwerem docelowym
<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 w proxy interfejsu API.
Konfigurowanie limitu czasu połączenia w zasadach ServiceCallout proxy interfejsu API
W tej sekcji dowiesz się, jak skonfigurować limit czasu połączenia w zasadach ServiceCallout
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 zasadach ServiceCallout za pomocą właściwości
connect.timeout.millis:
- W interfejsie Edge wybierz konkretne proxy interfejsu API, w którym chcesz skonfigurować nową
wartość limitu czasu połączenia dla zasad
ServiceCallout. - Wybierz konkretne zasady
ServiceCallout, które chcesz zmodyfikować. - Dodaj właściwość
connect.timeout.millisz odpowiednią wartością w elemencie<HTTPTargetConnection>w konfiguracjiTargetEndpoint.Aby na przykład zmienić limit czasu połączenia na
5sekund, dodaj ten blok kodu:<Properties> <Property name="connect.timeout.millis">5000</Property> </Properties>
Właściwość
connect.timeout.millisjest podawana w milisekundach, więc wartość dla5sekund to5000.Poniższe przykłady pokazują, jak skonfigurować limit czasu połączenia w
ServiceCalloutzasadach proxy interfejsu API:Przykładowa konfiguracja zasad ServiceCallout z adresem 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 zasad ServiceCallout z serwerem docelowym
<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 w proxy interfejsu API.
Konfigurowanie limitu czasu połączenia w procesorach wiadomości
W tej sekcji dowiesz się, 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 komunikatów, używając tokena zgodnie ze
składnią opisaną w artykule
Konfigurowanie Edge.
Aby skonfigurować limit czasu połączenia w procesorach wiadomości:
- Na komputerze z procesorem 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:vi /opt/apigee/customer/application/message-processor.properties
- Dodaj wiersz w tym formacie do pliku właściwości, zastępując wartość dla
TIME_IN_MILLISECONDS:
conf_http_HTTPClient.connect.timeout.millis=TIME_IN_MILLISECONDS
Aby na przykład zmienić limit czasu połączenia w procesorze komunikatów na
5sekund, 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
- 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 limitu czasu połączenia w procesorach wiadomości
W tej sekcji dowiesz się, jak sprawdzić, czy limit czasu połączenia został prawidłowo zmodyfikowany w procesorach wiadomości.
Mimo że do ustawienia limitu czasu połączenia w procesorze komunikatów używasz tokena conf_http_HTTPClient.connect.timeout.millis, musisz sprawdzić, czy rzeczywista właściwość
HTTPClient.connect.timeout.millis została ustawiona na nową wartość.
- Na komputerze z procesorem komunikatów wyszukaj właściwość
HTTPTransport.connect.timeout.millisw katalogu/opt/apigee/edge-message-processor/confi sprawdź, czy została ustawiona na nową wartość, 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 prawidłowo ustawiona w procesorze komunikatów, to
powyższe polecenie wyświetli nową wartość w pliku
http.properties.Przykładowy wynik powyższego polecenia po skonfigurowaniu limitu czasu połączenia na
5sekund:/opt/apigee/edge-message-processor/conf/http.properties:HTTPClient.connect.timeout.millis=5000
W powyższym przykładzie danych wyjściowych zwróć uwagę, że właściwość
HTTPClient.connect.timeout.milliszostała ustawiona na nową wartość5000w plikuhttp.properties. Oznacza to, że limit czasu połączenia został prawidłowo skonfigurowany na5sekund w procesorze wiadomości. - Jeśli nadal widzisz starą wartość właściwości
HTTPClient.connect.timeout.millis, sprawdź, czy prawidłowo wykonano wszystkie czynności opisane w Konfigurowanie limitu czasu połączenia w procesorach wiadomości prawidłowo. Jeśli pominiesz jakiś krok, powtórz wszystkie czynności. - Jeśli nadal nie możesz zmodyfikować limitu czasu połączenia, skontaktuj się z zespołem pomocy Google Cloud Apigee Edge.