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

Apigee Edge 문서입니다.
Go to the Apigee X 문서로 이동합니다.
info

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

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

제한 시간을 구성할 때는 각 구성요소에 값을 최대한 주의해서 구성해야 합니다. 그렇지 않으면 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 프록시에만 영향을 미칩니다.

    새 I/O 제한 시간 값이 메시지 프로세서에서 실행되는 모든 API 프록시에 필요하거나 적용 가능한 경우에만 메시지 프로세서에서 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초로 구성합니다.