2016-08-18 3 views
0

HTTP를 통해 입력 스트림을 전달해야한다는 요구 사항이 있습니다. 나는 파일 커넥터를 노새로 사용하고 입력 스트림을 HTTP 커넥터에 전달합니다. 파일 크기는 250MB에서 10GB에 이르는 거대한 크기가 될 것입니다. 내가 700 메가 바이트 파일과 노력하고있어 HTTP 커넥터가 메모리가 부족합니다. 나는 커넥터가 모든 것을 메모리에로드하고 있다고 생각합니다. 왜 그것을 스트림으로 전달하지 않는 것입니까? 이 작업을 수행하는 가장 좋은 방법은 무엇인지 알려주십시오.HTTP 커넥터를 사용하여 HTTP를 통해 HTTP를 통한 입력 스트림 전달

+0

StackOverflow에 오신 것을 환영합니다. 이 사이트에서 가장 효과적으로 질문하는 방법을 배우려면 http://stackoverflow.com/help/how-to-ask를 검토하십시오. 귀하의 질문에는 코드가 포함되어 있지 않으며 특정 답변을 허용하기에 충분한 정보를 제공하지 않습니다. 더 많은 문맥을 제공하십시오. – TW80000

+0

희망 사항을 올바르게 이해합니다. – star

답변

0

저는 성능에 영향을 미치지 않고 설계하는 것이 Architect Level의 결정이라고 생각합니다. 거대한 파일 전송이 될 경우 GB 수준에서 File to File Transfer 프로토콜을 선호합니다. 귀하의 경우 이미 FTP에서 파일을 읽고 처리하고 다시 FTP 또는 AmazonS3 또는 SFTP에 업로드하십시오. 업로드 할 때 파일을 압축하고 있는지 확인하십시오.

1. HTTP 호출 용 Java 구성 요소를 사용하여 사용자 정의 코드를 작성하고 Multipart 업로드 개념을 사용하십시오. (또는) 2. 파일을 분할하고 HTTP 커넥터 Mule의 부품을 밀어 넣습니다. (슈퍼 빠른) 뮬에서 (나)

3.Use 배치 구성 요소 - 보통 배치 다음은 분할 및 부품 (사용 일괄 처리 크기 (편리한)에 의해 HTTP 부분에 밀어 수하는 초 만에 엄청난 양의 데이터를 처리합니다.

1 옵션을 선택하기 전에를 참조하십시오 배치 구성 요소로보십시오. https://docs.mulesoft.com/mule-user-guide/v/3.6/batch-processing을 그것은 you.Batch 특별히 큰 페이로드를 처리 할 수 ​​있도록 설계되어 도움이 될 것입니다 참고 :. 당신이 한 가지 또는 분할에 모든 밀어 갈 필요가 있는지 확인

합니다.
+0

데이터를 보내려는 장소에 SFTP 서버가 없습니다. HTTP 커넥터가 메모리에로드되고 있기 때문에 파일을 분할하여 http를 통해 전송하면 결국 메모리 문제가 발생합니다. –

0

config xml을 공유하십시오 파일 커넥터에서 스트리밍을 사용하도록 설정했는지 확인하십시오 사용하도록 설정하지 않으면 전체 파일 콘텐츠가 VMWare에로드됩니다. VM이 VM을 죽입니다.

건배!