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

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

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

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

안티패턴

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

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

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

영향

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

권장사항

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

추가 자료