RxNetty icon indicating copy to clipboard operation
RxNetty copied to clipboard

Support HTTP/2

Open futurely opened this issue 10 years ago • 10 comments

HTTP/2 has been finalized last month and Netty has already implmented the protocol and an example.

futurely avatar Mar 09 '15 02:03 futurely

@futurely Yes it will be provided in 0.5.x. Since, there are plenty of big changes in 0.5.x, I am currently finishing those up before I can start implementing the HTTP/2 support.

Do you have a usecase for HTTP/2?

NiteshKant avatar Mar 10 '15 22:03 NiteshKant

Yes, I want to exploit the server push capability of HTTP/2. WebSocket used to be the de facto choice to implement persistent connection based push notification services. For example, AeroGear implemtend Mozilla's SimplePush protocol with WebSocket. Recently, Mozilla has proposed a new protocol webpush based on HTTP/2 and AeroGear has implemented it too.

But it is still a proof of concept. In production, everything should be asynchronous as demonstrated by Facebook's HBase RAFT quorum. Without RxNetty, there would be a lot verbose SettableFutures and Runnables floating around and the logically related code has to be scattered.

I would appreciate a lot if you can devote your precious time into this issue.

futurely avatar Mar 11 '15 02:03 futurely

Thanks @futurely for the context.

We at Netflix, are looking at HTTP/2 to be used as the default for our IPC stack and that is the reason for me to backport netty's HTTP/2 implementation from 5.x to 4.x. Netty 4.1 was recently released with HTTP/2.

We are totally invested in providing HTTP/2 support, I would expect it to be available sometime in April.

NiteshKant avatar Mar 11 '15 05:03 NiteshKant

Thanks! I will experiment with RxNetty WebSocket based push servers before HTTP/2 is in place.

futurely avatar Mar 11 '15 05:03 futurely

Any Upgrades on this?

schmitch avatar Aug 07 '15 11:08 schmitch

http://www.grpc.io/

futurely avatar Aug 07 '15 12:08 futurely

@schmitch we aren't working on HTTP/2 support as yet and I do not have any timelines on when we will work on it.

@futurely Grpc AFAIK is a different interaction model and space than RxNetty but yeah if it works for your usecase, it is great!

NiteshKant avatar Aug 07 '15 17:08 NiteshKant

@NiteshKant Do we have HTTP/2 support now in rxnetty?

sundar-gs avatar Apr 18 '17 14:04 sundar-gs

Any progress on this? It would be great to have backpressure plugging into HTTP/2 flow control mechanisms transparently, e.g. exposing a Flowable to stream a HTTP/2 response. It seems that netty provides the low level plumbing to make this possible, is there any catch I don't see?

jchapuis avatar May 02 '17 12:05 jchapuis

@NiteshKant Our SDK has dependency rxNetty: https://mvnrepository.com/artifact/com.microsoft.azure/azure-cosmosdb/1.0.2 https://github.com/Azure/azure-cosmosdb-java

If rxNetty adds support for Http/2 it will benefit us too.

Thanks.

moderakh avatar Jun 07 '18 20:06 moderakh