Włącz wdrożenie HTTP

Domyślnie Edge używa RPC do wdrażania serwerów proxy interfejsu API. Chociaż ten tryb działa bardzo dobrze w przypadku większości instalacji, w większych topologiach z wieloma procesorami wiadomości mogą wystąpić przekroczenia limitu czasu, gdy przez RPC jest wykonywana duża liczba jednoczesnych wywołań. Apigee planuje wycofać tę implementację w przyszłości.

Dlatego w przypadku większych wdrożeń Apigee zaleca używanie protokołu HTTP zamiast RPC.

Oprócz potencjalnego zwiększenia niezawodności włączenie wdrażania HTTP poprawia też treść i format wyjątków, które mogą wystąpić podczas procesu wdrażania.

W tej sekcji opisano, jak włączyć protokół HTTP na potrzeby wdrożenia.

Aktualizowanie organizacji

Aby włączyć wdrażanie HTTP, wyślij żądanie PUT do interfejsu API Update organization properties. W treści żądania ustaw te właściwości:

Właściwość Opis
allow.deployment.over.http Określa, czy Edge może wdrażać serwery proxy interfejsu API przez HTTP (oprócz RPC). Ustaw na true, aby zezwolić na wdrażanie HTTP. W przeciwnym razie ustaw na false. Wartość domyślna to false.

Aby włączyć wdrożenia HTTP, musisz ustawić tę właściwość na true.

use.http.for.configuration

Określa metodę, która ma być używana w przypadku zdarzeń konfiguracji. Możliwe wartości to:

  • never: wszystkie zdarzenia konfiguracji używają RPC. Jest to ustawienie domyślne.
  • retry: wszystkie zdarzenia konfiguracji najpierw używają RPC. Jeśli zdarzenie nie powiedzie się przez RPC, Edge próbuje użyć HTTP. Jeśli używasz protokołu HTTP, może to powodować opóźnienia.
  • always: wszystkie zdarzenia konfiguracji używają protokołu HTTP.

Aby włączyć wdrożenia HTTP, Apigee zaleca ustawienie tej właściwości na always.

Oprócz ustawienia tych właściwości w treści wiadomości musisz ustawić nagłówek Content-Type na application/json lub application/xml.

W poniższym przykładzie wywołujemy interfejs API do aktualizowania właściwości organizacji z treścią wiadomości w formacie JSON.

curl -u admin_email:admin_password
  "http://management_server_IP:8080/v1/organizations/org_name"
  -X POST -H "Content-Type: application/json" -d
  '{
    "properties" : {
      "property" : [
      {
        "name" : "allow.deployment.over.http",
        "value" : "true"
      },
      {
        "name" : "use.http.for.configuration",
        "value" : "always"
      } ]
    }
  }'

Aby włączyć wdrażanie HTTP we wszystkich serwerach proxy interfejsu API we wszystkich organizacjach, musisz zaktualizować każdą organizację w sposób opisany powyżej.

Testowanie aktualizacji

Aby sprawdzić, czy aktualizacja się powiodła, wywołaj zdarzenie wdrożenia na serwerze proxy interfejsu API w zaktualizowanej organizacji, a następnie sprawdź pliki dziennika procesora komunikatów. Wpis logu dotyczący zdarzeń wdrożenia powinien zawierać mode:API.

Więcej informacji znajdziesz w artykule Pliki dziennika.