Jetty의 HTTP2는 주로 커넥터, 전송 및 채널 수준에 있다는 것을 알고 있습니다.Jetty에 HTTP2 서블릿을 구현하는 가장 좋은 방법은 무엇입니까?
나는 클라이언트와 서버 사이의 바이너리 데이터를 전송하기 위해 최선을 다 할 것이다 조합 결정하려고 해요 :
- 부두 HTTP2 서버 동기화 서블릿과 비동기 서블릿 + 부두 HTTP2 클라이언트와
- 부두 HTTP2 서버 + 부두 HTTP2 클라이언트 비동기 서블릿 +의 Netty HTTP2 클라이언트와
- 부두 HTTP2 서버
- GRPC 클라이언트와 서버 (모두가 기본 인 Netty를 기반으로)
세부 사항 :
내 클라이언트에 바이너리 데이터를 전송하고자하는 나는 비 차단/비동기로 연결을하고 싶습니다. 동시 클라이언트 요청 수는 높을 수 있으며 서버는 일부 요청에 응답하는 데 몇 초 (몇 번) 걸릴 수 있습니다.
각 응답은 작은 바이너리 데이터입니다. byte[]
또는 ByteBuffer
으로 복사하는 대신 Netty의 ByteBufs
을 직접 응답으로 보낼 수는 있지만이 특정 질문과 직접 관련이없는 경우이를 좋아할 것입니다.
ProtoBuf wrapping (link)limitation (link) 때문에 방법 # 4가 제일 좋아하지 않습니다.
부두 참조 :
- http://download.eclipse.org/jetty/stable-9/apidocs/org/eclipse/jetty/http2/client/HTTP2Client.html
- https://github.com/eclipse/jetty.project/tree/jetty-9.4.x/jetty-http2/http2-server/src/main/java/org/eclipse/jetty/http2/server
- https://github.com/fstab/http2-examples/blob/master/multiplexing-examples/jetty-client/src/main/java/de/consol/labs/h2c/examples/client/jetty/JettyClientExample.java
- https://groups.google.com/forum/#!topic/grpc-io/z0rhhetN1rE