안티패턴: 스트리밍이 사용 설정된 경우 요청/응답 페이로드에 액세스

Apigee X 문서입니다.
Apigee Edge 문서 보기

Apigee에서 기본 동작은 HTTP 요청 및 응답 페이로드가 API 프록시의 정책에 의해 처리되기 전에 메모리 내 버퍼에 저장되는 동작입니다.

스트리밍이 사용 설정되면 요청 및 응답 페이로드는 클라이언트 앱(응답용)과 대상 엔드포인트(요청용)를 수정하지 않고 스트리밍됩니다. 스트리밍은 특히 애플리케이션이 대규모 페이로드를 수락 또는 반환하거나 시간 경과에 따라 데이터를 청크로 반환하는 애플리케이션이 있는 경우에 유용합니다.

안티패턴

스트리밍이 사용 설정된 요청/응답 페이로드에 액세스하면 Apigee가 기본 버퍼링 모드로 돌아갑니다.

요청 - 메시지 프로세서 할당량 정책 - 메시지 프로세서 변수 추출 - 대상.
            대상 - 메시지 프로세서 JSONToXML - 응답.
그림 1: 스트리밍이 사용 설정된 요청/응답 페이로드에 액세스

위 그림에서는 요청 페이로드에서 변수를 추출하고 JSONToXML 정책을 사용하여 JSON 응답 페이로드를 XML로 변환하려고 함을 보여줍니다. 그러면 Apigee에서 스트리밍이 중지됩니다.

영향

  • 스트리밍이 중지되면 데이터 처리 지연 시간이 늘어날 수 있습니다.
  • 특히 요청/응답 페이로드가 큰 경우 메모리 내 버퍼를 사용하게 되므로 메시지 프로세서에서 힙 메모리 사용량이 증가하거나 OutOfMemory 오류가 발생할 수 있습니다.

권장사항

  • 스트리밍이 사용 설정되면 요청/응답 페이로드에 액세스하지 마세요.

추가 자료