I/O 제한 시간 구성을 위한 권장사항

현재 Apigee Edge 문서가 표시되고 있습니다.
Apigee X 문서로 이동
정보

클라이언트 애플리케이션의 API 요청은 백엔드 서비스에 도달하기 전에 Apigee Edge의 다양한 구성요소를 통과합니다. 대부분의 클라이언트 애플리케이션은 이러한 요청에 대한 응답이 적시에 수신될 것으로 기대합니다.

시기적절한 응답을 달성하기 위해 API 요청이 통과하는 각 구성요소에 I/O 제한 시간 값이 설정됩니다. 흐름의 구성요소 중 어느 하나라도 이전 구성요소보다 시간이 더 오래 걸리면 이전 구성요소가 시간 초과되고 504 Gateway Timeout 오류로 다시 응답합니다.

제한 시간을 구성하는 동안 각 구성요소에 매우 주의하여 값을 구성해야 합니다. 그렇지 않으면 504 게이트웨이 시간 초과 오류가 발생할 수 있습니다.

이 문서에서는 Apigee Edge에서 API 요청이 전달되는 다양한 구성요소에 대해 I/O 제한 시간을 구성하기 위한 권장사항을 설명합니다.

I/O 제한 시간 구성 권장사항

I/O 제한 시간을 구성할 때 다음 권장사항을 고려하세요.

  • 첫 번째 구성요소: API 요청 흐름의 첫 번째 구성요소(Apigee Edge의 클라이언트 애플리케이션)에 항상 가장 높은 제한 시간을 사용합니다.
  • 마지막 구성요소: API 요청 흐름의 마지막 구성요소(Apigee Edge의 백엔드 서비스)에 항상 가장 짧은 제한 시간을 사용합니다.
  • 구성요소 간: 흐름의 첫 번째 구성요소와 마지막 구성요소 사이에 각 구성요소에 구성된 시간 제한 값에서 2~3초 이상의 차이가 있는지 확인합니다.
  • 라우터: 특정 가상 호스트에 대해 I/O 시간 제한 값을 라우터에서 구성하는 대신 항상 구성 (수정)하는 것이 좋습니다. 이렇게 하면 새 시간 제한 값이 특정 가상 호스트를 사용하는 API 프록시에만 영향을 미치고 라우터에서 제공하는 모든 API 프록시에는 영향을 미치지 않습니다.

    새 I/O 시간 제한 값이 필요하거나 라우터에서 실행 중인 모든 API 프록시에 적용 가능하다고 확신하는 경우에만 라우터에서 I/O 시간 제한을 구성 (수정)하세요.

  • 메시지 프로세서: 특정 API 프록시에 대해 I/O 시간 제한 값을 메시지 프로세서에서 구성하는 대신 항상 구성 (수정)하는 것이 좋습니다. 이렇게 하면 새 시간 제한 값이 특정 API 프록시에만 영향을 미치고 메시지 프로세서가 제공하는 모든 API 프록시에는 영향을 주지 않습니다.

    메시지 프로세서에서 실행 중인 모든 API 프록시에 새 I/O 시간 제한 값이 필요하거나 적용 가능하다고 확신하는 경우에만 메시지 프로세서의 I/O 제한 시간을 구성 (수정)해야 합니다.

시나리오 예시

이 섹션의 시나리오는 I/O 제한 시간 값을 올바르게 설정하는 방법을 이해하는 데 도움이 될 수 있습니다.

시나리오 1: 클라이언트 애플리케이션에서 직접 Apigee Edge로 요청

이 섹션에서는 클라이언트 애플리케이션과 Apigee Edge 간 및 Apigee Edge와 백엔드 서버 사이에 중간 구성요소가 없는 Apigee Edge 설정에서 제한 시간 값을 설정할 때 따라야 할 권장사항을 설명합니다.

중간 구성요소가 없는 Apigee 설정 샘플

클라이언트에서 시작하여 라우터, 그 다음 메시지 프로세서, 백엔드 서버로 이어지는 흐름

Apigee Edge가 위 다이어그램과 같이 중간 구성요소 없이 설정된 경우 다음 권장사항을 따르세요.

  1. 클라이언트 애플리케이션은 흐름의 첫 번째 구성요소입니다. 가장 긴 제한 시간 값을 클라이언트에 설정해야 합니다.
  2. 백엔드 서버는 흐름의 마지막 구성요소입니다. 최소 제한 시간 값은 백엔드 서버에 설정해야 합니다.
  3. 각 구성요소의 시간 제한 값을 다음 순서로 구성합니다.

    클라이언트, 라우터, 메시지 프로세서, 백엔드 서버의 제한 시간 구성

    다음 예에서는 문제를 방지하기 위해 위의 가이드라인에 따라 다양한 구성요소에 설정된 시간 제한 값을 보여줍니다.

    클라이언트의 제한 시간은 60초, 라우터는 57초, 메시지 프로세서는 55초, 백엔드 서버는 52초로 구성

시나리오 2: 중간 구성요소를 통해 클라이언트 애플리케이션에서 Apigee Edge로 요청

이 섹션에서는 클라이언트 애플리케이션과 Apigee Edge 사이 그리고 Apigee Edge와 백엔드 서버 사이에 중간 구성요소가 하나 이상 있는 Apigee Edge 설정에서 제한 시간 값을 설정할 때 따라야 할 권장사항을 설명합니다.

중간 구성요소는 부하 분산기, 콘텐츠 전송 네트워크(CDN), NGINX 등일 수 있습니다.

클라이언트와 Apigee Edge 간, Apigee Edge와 백엔드 서버 사이에 중간 구성요소 하나가 있는 Apigee 설정 샘플

클라이언트에서 시작하여 중간 구성요소 1로 이동한 다음 라우터, 메시지 프로세서, 중간 구성요소 2, 백엔드 서버로 이어지는 흐름

Apigee Edge가 위 다이어그램과 같이 하나 이상의 중간 구성요소와 함께 설정된 경우 다음 권장사항을 따르세요.

  1. 클라이언트 애플리케이션은 흐름의 첫 번째 구성요소입니다. 가장 높은 시간 제한 값이 클라이언트에 설정되어야 합니다.
  2. 백엔드 서버는 흐름의 마지막 구성요소입니다. 가장 짧은 시간 제한 값은 백엔드 서버에 설정되어야 합니다.
  3. 중간 구성요소를 비롯한 각 구성요소의 시간 제한 값을 다음 순서로 구성합니다.

    클라이언트, 중간 구성요소 1, 라우터, 메시지 프로세서, 중간 구성요소 2, 백엔드 서버 순으로 제한 시간 구성

    다음 예에서는 문제를 방지하기 위해 위의 가이드라인에 따라 다양한 구성요소에 설정된 시간 제한 값을 보여줍니다.

    클라이언트의 시간 제한을 63초로 구성하고 중간 구성요소 1은 60초로, 라우터는 57초로, 메시지 프로세서는 55초로, 중간 구성요소 2는 52초로, 백엔드 서버는 59초로 구성