[ https://issues.apache.org/jira/browse/MESOS-6127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15465400#comment-15465400 ]
Aaron Wood commented on MESOS-6127: ----------------------------------- - Multiplexing in HTTP/2 gets you multiple concurrent communications to happen over a single connection (heavy use of stream identifiers here). That's the big thing persistent connections with HTTP 1.1 doesn't get you. - My understanding of the compression is that the overhead you gain from the compression computation is far outweighed by the data savings and high compression ratio. I think you can expect to almost always have at least > 90% of the data saved. The algorithm used is here https://http2.github.io/http2-spec/compression.html - I think if the code was changed carefully so that we're always reusing one connection per origin then we'd only ever have one TLS handshake per connection to worry about. I think the overhead of the encryption and compression work will be negated by modern CPUs (especially since almost everything has AES-NI built in now). I could be wrong on some of these points, there might be more overhead than expected if we introduce TLS into the picture. But since most of the tech giants have switched to HTTP/2 (Google, Akami, YouTube, CloudFlare, etc. etc.) I am fairly confident it's the way to go. > Implement suppport for HTTP/2 > ----------------------------- > > Key: MESOS-6127 > URL: https://issues.apache.org/jira/browse/MESOS-6127 > Project: Mesos > Issue Type: Epic > Components: HTTP API, libprocess > Reporter: Aaron Wood > Labels: performance > > HTTP/2 will allow us to take advantage of connection multiplexing, header > compression, streams, server push, etc. Add support for communication over > HTTP/2 between masters and agents, framework endpoints, etc. > Should we support HTTP/2 without TLS? The spec allows for this but most major > browser vendors, libraries, and implementations aren't supporting it unless > TLS is used. If we do require TLS, what can be done to reduce the performance > hit of the TLS handshake? Might need to change more code to make sure that we > are taking advantage of connection sharing so that we can (ideally) only ever > have a one-time TLS handshake per shared connection. > Potential library that could be helpful: > https://nghttp2.org/documentation/libnghttp2_asio.html -- This message was sent by Atlassian JIRA (v6.3.4#6332)