Open pjfanning opened 11 months ago
This basically means a rewrite of the complete backend, including
It would be nice to have but this is an effort that basically would at least double the size of the backend implementation. In the best case, some of the layers could reuse available third-party components (TLS, transport layer) so that a first implementation could focus on the more HTTP-related parts.
For triaging it would be good to gather good motivation about why to do this in the first place. Also, whether client or server side might be more important.
In some way, it might be more interesting to implement QUIC as a general, low-latency, multiplexing connection solution, than HTTP/3 which is used mostly in communication between browsers and servers. Most backend servers are deployed behind a reverse proxy where HTTP/3 in the upstream backend server itself might be less of a requirement.
For triaging it would be good to gather good motivation about why to do this in the first place. Also, whether client or server side might be more important.
In some way, it might be more interesting to implement QUIC as a general, low-latency, multiplexing connection solution, than HTTP/3 which is used mostly in communication between browsers and servers. Most backend servers are deployed behind a reverse proxy where HTTP/3 in the upstream backend server itself might be less of a requirement.
That's a good point about reverse proxies (eg nginx). With the right network security topology, you could terminate the http/3 connection at the reverse proxy and forward plain http traffic to the pekko-http backends.
Users could also consider using Web Sockets if they want to avoid the overhead of separate HTTP(S) requests.
Relates to https://github.com/akka/akka-http/issues/3692