[infinispan-dev] Uber client, which means ALPN investigation

Sebastian Laskawiec slaskawi at redhat.com
Wed Jul 27 02:38:41 EDT 2016


Hey guys!

Recently I've been looking into ALPN support [1] and studying RFC [2] as
well as JEP [3]. In short, the Application Layer Protocol Negotiation -
allows the server and the client to agree which protocol shall be used
after TLS handshake. It will be supported out of the box in JDK9. For JDK8
you need a special Jetty Java agent [4].

With ALPN we could build an Uber Client, which would be able to support
many protocols at the same time (REST, HTTP/2, Hot Rod). We should be able
to select the protocol during client initialization as well as renegotiate
existing connection. This could be very convenient for situations when
connecting to multiple Hot Rod servers and some of them are accessible
using Hot Rod (the same DC or the same Cloud tenant) and some connections
need to get through a firewall (HTTP/2, REST).

Of course implementing this requires major refactoring in the server
endpoint as well as in the client. Possibly this is something for
Infinispan 10 :)

WDYT?

Thanks
Sebastian

[1] https://issues.jboss.org/browse/ISPN-6899
[2] https://tools.ietf.org/html/rfc7301
[3] http://openjdk.java.net/jeps/244
[4] https://github.com/jetty-project/jetty-alpn
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/infinispan-dev/attachments/20160727/ac2e7a3f/attachment.html 


More information about the infinispan-dev mailing list