Is Jetty/HTTP3 Production Ready? #13469
-
The current version of Jetty is 12.x (or so I think). Is HTTP3 production ready at this point? In Jetty-12? Earlier release of Jetty? What version of Java is required from Jetty-12? What about web sockets. Do web sockets still work? I think that web sockets uses TCP and HTTP3 uses UDP. This seems like a problem. Is this a problem? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 1 reply
-
Correct.
HTTP/3 is greatly improved in Jetty 12.1.x, and I would recommend to use Jetty 12.1.x if you want to use HTTP/3. However, Jetty still uses the Quiche Rust library to implement the QUIC layer, and the performance is still horrible, as in 30x slower than HTTP/2.
Java 17+
Yes, WebSocket is fully supported and production ready.
This is technically not a problem, but we have not implemented yet RFC 9220, see #8627. |
Beta Was this translation helpful? Give feedback.
-
Thank you for all of your help in this matter. Based on your comments. I will upgrade to Jetty 12, but stick with HTTP2. I hope this is the correct path. Thank you again. |
Beta Was this translation helpful? Give feedback.
Correct.
HTTP/3 is greatly improved in Jetty 12.1.x, and I would recommend to use Jetty 12.1.x if you want to use HTTP/3.
However, Jetty still uses the Quiche Rust library to implement the QUIC layer, and the performance is still horrible, as in 30x slower than HTTP/2.
This is due to the nature of Quiche, and having to cross the Java/Native barrier multiple times to process a single request (and yes, we have an option of using Java 22's FFM APIs, and while FFM is faster than JNA it is still tens of times slower than HTTP/2).
Java 17+