HTTP 배포 사용 설정

기본적으로 Edge는 RPC를 사용하여 API 프록시를 배포합니다. 이 모드는 대부분의 설치에서 매우 잘 작동하지만 MP가 많은 대규모 토폴로지에서는 RPC를 통해 동시 호출 수가 많을 때 시간 초과가 발생할 수 있습니다. Apigee에서는 향후 이 구현을 지원 중단할 계획입니다.

따라서 Apigee에서는 대규모 배포에서 RPC 대신 HTTP를 사용해 배포하는 것이 좋습니다.

HTTP 배포를 사용 설정하면 안정성이 향상될 뿐만 아니라 배포 프로세스 중에 발생할 수 있는 예외의 콘텐츠와 형식도 개선됩니다.

이 섹션에서는 배포를 위해 HTTP를 사용 설정하는 방법을 설명합니다.

조직 업데이트

HTTP 배포를 사용 설정하려면 Update Organization Properties APIPUT 요청을 보냅니다. 요청 본문에 다음 속성을 설정합니다.

속성 설명
allow.deployment.over.http Edge에서 RPC 외에 HTTP를 통해 API 프록시를 배포할 수 있는지 여부를 결정합니다. HTTP 배포를 허용하려면 true로 설정하고, 그렇지 않으면 false로 설정합니다. 기본값은 false입니다.

HTTP 배포를 사용 설정하려면 이 속성을 true로 설정해야 합니다.

use.http.for.configuration

구성 이벤트에 사용할 메서드를 지정합니다. 가능한 값은 다음과 같습니다.

  • never: 모든 구성 이벤트가 RPC를 사용합니다. 이는 기본값입니다.
  • retry: 모든 구성 이벤트가 RPC를 먼저 사용합니다. RPC를 통해 이벤트가 실패하면 Edge에서 HTTP를 시도합니다. HTTP를 사용해야 하는 경우 이로 인해 지연이 발생할 수 있습니다.
  • always: 모든 구성 이벤트는 HTTP를 사용합니다.

HTTP 배포를 사용 설정하려면 이 속성을 always로 설정하는 것이 좋습니다.

메시지 본문에 이러한 속성을 설정하는 것 외에도 Content-Type 헤더를 application/json 또는 application/xml로 설정해야 합니다.

다음 예에서는 JSON 메시지 본문을 사용하여 Update Organization Properties API를 호출합니다.

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"
      } ]
    }
  }'

모든 조직의 모든 API 프록시에 HTTP 배포를 사용 설정하려면 위에서 설명한 대로 각 조직을 업데이트해야 합니다.

업데이트 테스트

업데이트가 성공했는지 테스트하려면 업데이트된 조직의 API 프록시에서 배포 이벤트를 트리거한 후 메시지 프로세서의 로그 파일을 확인합니다. 배포 이벤트의 로그 항목에 mode:API가 포함되어야 합니다.

자세한 내용은 로그 파일을 참고하세요.