2014-11-05 2 views
1

다음은 나의 사용 사례입니다. 많은 대규모 동시 요청을 수신 할 수 있어야하는 finatra 서버를 구현 중입니다. 이러한 요청에는 다수의 작은 json 개체로 구성된 큰 본문 (몇 메가 바이트)이 연결되어 있습니다.Finatra - 청크로 요청 읽기

전체 요청 본문을 메모리에로드하지 않도록하십시오. 청크로 요청 본문을 읽고,이 종류의 비동기 구문 분석을 지원하는 json 파서를 사용하는 방법을 찾고 있습니다.

node.js에서이 작업은 jsonp 패키지를 사용하여 수행 할 수 있습니다 (예제 - https://github.com/jaredhanson/node-jsonsp/blob/master/examples/twitter-stream/app.js 참조).

finatra (및 방법)와 비슷한 기능을 수행 할 수 있습니까?

PS - 나는 또한 질문을 게시했다 here,하지만 지금까지 답변이 없습니다.

+0

스트리밍 및 고성능에 관심이있는 경우 새롭고 관용적 인 [http4s] (http://http4s.org) 라이브러리를 확인해보십시오. –

+0

감사합니다. 정말 흥미 롭군요. 나는 한번 볼게. –

답변

0

현재 Finatra에서는이 기능을 사용할 수 없습니다. Finatra는 전체 요청이 수신되어 ChannelBuffer에 기억 될 때까지 경로를 호출하지 않습니다. 또한, Finatra는 요청을 하나의 청크로 읽음으로써 ~ 2MB보다 긴 몸체를 수신 할 수 없습니다. com.twitter.finatra.config.maxRequestSize을 2048보다 높게 설정하면 런타임에 오류가 발생합니다.

나는 Finatra와 비슷한 DSL을 유지하기 위해 NettyServerembed 및 "String Interpolating Routing DSL"을 사용하여 Play Framework로 전환했습니다.

관련 문제