<ph type="x-smartling-placeholder"></ph>
현재 Apigee Edge 문서를 보고 있습니다.
Apigee X 문서. 정보
이 주제의 과정 내용
이 주제를 읽고 나면 다음 사항을 알 수 있습니다.
- Apigee Edge에서 요청 및 응답 스트리밍에 대한 정보
- 요청 및 응답 스트리밍을 사용해야 하는 경우
- 요청 및 응답 스트리밍을 사용 설정하는 방법
요청 및 응답 스트리밍 정보
기본적으로 HTTP 스트리밍은 사용 중지되며 HTTP 요청 및 응답 페이로드는 API 프록시 파이프라인에서 처리되기 전에 메모리의 버퍼에 기록됩니다. 스트리밍을 사용 설정하여 이 동작을 변경할 수 있습니다. 스트리밍이 사용 설정되면 클라이언트 앱(응답의 경우) 및 대상 엔드포인트(요청의 경우)가 수정되지 않고 요청 및 응답 페이로드가 스트리밍됩니다.
스트리밍은 언제 사용 설정해야 하나요?
API 프록시가 대규모 요청 및 응답을 처리하는 경우(크기 제한의 경우 아래의 스트리밍에 대해 알아야 할 기타 사항 참조) 스트리밍을 사용 설정할 수 있습니다.
스트리밍에 대해 알아야 할 기타 사항은 무엇인가요?
메시지 페이로드 크기는 Edge Cloud에서 10MB로 제한되며
프라이빗 클라우드(스트리밍 사용 설정 포함) 스트리밍되지 않은 요청 및 응답에서 크기를 초과하면 protocol.http.TooBigBody
오류가 발생합니다.
프라이빗 클라우드용 Edge 배포에서는 스트리밍되지 않은 요청/응답 크기를 수정할 수 있습니다. 있습니다. 프로덕션에 변경사항을 배포하기 전에 테스트해야 합니다.
- 4.16.01 이전 버전의 Private Cloud용 Edge 출시:
<ph type="x-smartling-placeholder">
</ph> 모든 메시지 프로세서에서http.properties
파일을 수정하여HTTPResponse.body.buffer.limit
매개변수에 제한 값을 설정한 후 다시 시작하십시오. 메시지 프로세서의 일종입니다. -
Private Cloud용 Edge 출시 버전 4.16.01 이상:
<ph type="x-smartling-placeholder">
- </ph>
-
/<inst_root>/apigee/customer/application/message-processor.properties 파일을 편집합니다. 해당 파일이 없으면 새로 만듭니다.
-
conf_http_HTTPResponse.body.buffer.limit를 설정합니다. 속성(message-processor.properties)으로 이동합니다. 대상 예:
conf_http_HTTPResponse.body.buffer.limit=5m -
메시지 프로세서를 다시 시작합니다.
> /<inst_root>/apigee/apigee-service/bin/apigee-service Edge-message-processor 다시 시작 -
모든 메시지 프로세서에 대해 작업을 반복합니다.
-
요청 및 응답 스트리밍을 사용 설정하는 방법
요청 스트리밍을 사용 설정하려면 프록시 번들의 ProxyEndpoint 및 TargetEndpoint 정의에 request.streaming.enabled
속성을 추가하고 true
로 설정해야 합니다. 마찬가지로 response.streaming.enabled
속성을 설정하여 응답 스트리밍을 사용 설정합니다.
앱의 개발 보기에 있는 관리 UI에서 이러한 구성 파일을
사용할 수 있습니다 로컬에서 개발하는 경우 이러한 정의 파일은 apiproxy/proxies
및 apiproxy/targets
에 있습니다.
이 샘플은 TargetEndpoint 정의에서 요청 및 응답 스트리밍 모두를 사용 설정하는 방법을 보여줍니다.
<TargetEndpoint name="default"> <HTTPTargetConnection> <URL>http://mocktarget.apigee.net</URL> <Properties> <Property name="response.streaming.enabled">true</Property> <Property name="request.streaming.enabled">true</Property> <Property name="supports.http10">true</Property> <Property name="request.retain.headers">User-Agent,Referer,Accept-Language</Property> <Property name="retain.queryparams">apikey</Property> </Properties> </HTTPTargetConnection> </TargetEndpoint>
이 예시에서는 ProxyEndpoint 정의에서 응답 및 요청 스트리밍 모두를 사용 설정하는 방법을 보여줍니다.
<ProxyEndpoint name="default"> <HTTPProxyConnection> <BasePath>/v1/weather</BasePath> <Properties> <Property name="allow.http10">true</Property> <Property name="response.streaming.enabled">true</Property> <Property name="request.streaming.enabled">true</Property> </Properties> </HTTPProxyConnection> </ProxyEndpoint>
엔드포인트 정의 구성에 대한 자세한 내용은 엔드포인트 속성 참조를 확인하세요.
관련 코드 샘플
GitHub의 API 프록시 샘플은 쉽게 다운로드하고 사용할 수 있습니다. 자세한 내용은 샘플 API 프록시 사용을 참조하세요. 샘플 다운로드 및 사용
스트리밍 기능을 갖춘 샘플 프록시는 다음과 같습니다.
- 스트리밍 - HTTP 스트리밍용으로 구성된 API 프록시를 보여줍니다.
- Edge 콜아웃: 서명된 URL 생성기 - 요청/응답에서 스트리밍하는 대신 대용량 파일에 액세스하도록 서명된 URL을 생성하는 권장사항을 설명합니다.