Quantcast

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

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

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

Sebastian Laskawiec
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 


_______________________________________________
infinispan-dev mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/infinispan-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

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

Sanne Grinovero-3
Not my area of expertise, so forgive me if I give no technical feedback..

So, quite off-topic:
please let's not call it "Uber Client". I've tried it, but I'm still
waiting for my car ride to appear :) Is it always this slow?

On 27 July 2016 at 07:38, Sebastian Laskawiec <[hidden email]> wrote:

> 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
>
> _______________________________________________
> infinispan-dev mailing list
> [hidden email]
> https://lists.jboss.org/mailman/listinfo/infinispan-dev
_______________________________________________
infinispan-dev mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/infinispan-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

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

Sebastian Laskawiec
Maybe a polyglot client?

On Wed, Jul 27, 2016 at 12:06 PM, Sanne Grinovero <[hidden email]> wrote:
Not my area of expertise, so forgive me if I give no technical feedback..

So, quite off-topic:
please let's not call it "Uber Client". I've tried it, but I'm still
waiting for my car ride to appear :) Is it always this slow?

On 27 July 2016 at 07:38, Sebastian Laskawiec <[hidden email]> wrote:
> 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
>
> _______________________________________________
> infinispan-dev mailing list
> [hidden email]
> https://lists.jboss.org/mailman/listinfo/infinispan-dev
_______________________________________________
infinispan-dev mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/infinispan-dev


_______________________________________________
infinispan-dev mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/infinispan-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

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

Tristan Tarrant-2
In reply to this post by Sebastian Laskawiec
The WildFly guys are looking into this, so it would make sense to
coordinate with them [5]

[5] http://lists.jboss.org/pipermail/wildfly-dev/2016-June/005040.html

Tristan

On 27/07/16 08:38, Sebastian Laskawiec wrote:

> 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
>
>
> _______________________________________________
> infinispan-dev mailing list
> [hidden email]
> https://lists.jboss.org/mailman/listinfo/infinispan-dev



_______________________________________________
infinispan-dev mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/infinispan-dev
Loading...