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

Apigee Edge 문서를 보고 있습니다.
Go to the Apigee X 문서로 이동합니다.
info

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

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

안티패턴

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

그림 1: 스트리밍이 사용 설정된 요청/응답 페이로드에 액세스

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

영향

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

권장사항

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

추가 자료