Konfigurowanie limitu czasu połączenia w procesorach

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:
  • Docelowy punkt końcowy
  • Zasada ServiceCallout

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 HTTPClient.connect.timeout.millis w procesorze wiadomości, gdzie domyślna wartość to 3 s.

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 3 s.

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ść connect.timeout.millis na poziomie serwera proxy interfejsu API.

Zanim zaczniesz

Zanim wykonasz czynności opisane w tym dokumencie, upewnij się, że rozumiesz następujące zagadnienia:

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.

  1. W interfejsie użytkownika Edge wybierz konkretny serwer proxy interfejsu API, w którym chcesz skonfigurować nową wartość limitu czasu połączenia.
  2. Wybierz konkretny docelowy punkt końcowy, który chcesz zmienić.
  3. Dodaj właściwość connect.timeout.millis z odpowiednią wartością w elemencie <HTTPTargetConnection> w konfiguracji TargetEndpoint.

    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 wynosi 5000.

    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>
    
  4. 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:

  1. 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.
  2. Wybierz zasadę ServiceCallout, którą chcesz zmodyfikować.
  3. Dodaj właściwość connect.timeout.millis z odpowiednią wartością w elemencie <HTTPTargetConnection> w konfiguracji TargetEndpoint.

    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 wynosi 5000.

    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>
    
  4. 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:

  1. 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
    
  2. 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
    
  3. Zapisz zmiany.
  4. 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
    
  5. Ponownie uruchom procesor wiadomości, jak pokazano poniżej:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. 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ść.

  1. 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
    
  2. 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 w http.properties z nową wartością 5000. Oznacza to, że limit czasu połączenia w procesorze wiadomości został ustawiony na 5 s.

  3. 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.
  4. Jeśli nadal nie możesz zmienić limitu czasu połączenia, skontaktuj się z zespołem pomocy Apigee Edge w Google Cloud.