Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Zuul - Websocket proxy #163

Closed
aivans opened this issue Jan 19, 2015 · 27 comments
Labels

Comments

@aivans
Copy link

@aivans aivans commented Jan 19, 2015

We currently have a direct Websocket connection that goes to a backend webservice (via a load balancer F5).

If we get F5 out of the picture in what regards webservices, and F5 will only talk to Zuul (let's say), can we proxy a websocket connection from browser to webservice via Zuul?

@dsyer

This comment has been minimized.

Copy link
Contributor

@dsyer dsyer commented Jan 20, 2015

Zuul 1.x is pretty much limited to HTTP as far as I know (@spencergibb correct me if I'm wrong), and the current Spring Cloud proxy filter is probably not well suited to non-REST payloads (e.g. streaming). If we move to Zuul 2.0 at some point it opens up other possibilities.

@dsyer dsyer added the question label Jan 20, 2015
@dsyer dsyer changed the title Zuul - Websocket proxy- does it make sense? Zuul - Websocket proxy Jan 20, 2015
@dsyer dsyer added enhancement and removed question labels Jan 20, 2015
@aivans

This comment has been minimized.

Copy link
Author

@aivans aivans commented Jan 20, 2015

Hi Dave,

Is there a 2.0 for Netflix Zuul?

@dsyer

This comment has been minimized.

Copy link
Contributor

@dsyer dsyer commented Jan 20, 2015

I believe it hasn't been released yet.

@aivans

This comment has been minimized.

Copy link
Author

@aivans aivans commented Jan 20, 2015

Ok, Thanks

@paskos

This comment has been minimized.

Copy link

@paskos paskos commented Apr 10, 2015

we're starting websocket development. Very very very interested in websocket support in zuul. Any news or ETA ?

@spencergibb

This comment has been minimized.

Copy link
Member

@spencergibb spencergibb commented Oct 8, 2015

See this comment from zuul issues: Netflix/zuul#112 (comment). The short is zuul can terminate websockets in v2, but full duplex channels will come after a stable v2 and they integrate http://reactivesocket.io.

@aivans

This comment has been minimized.

Copy link
Author

@aivans aivans commented Oct 9, 2015

Thanks. By scenario 1 they mean to support terminating websockets natively, ie do not plugin another 3rd party support like Spring Websockets?

@spencergibb spencergibb added Backlog and removed Backlog labels Nov 17, 2015
@tur-ing

This comment has been minimized.

Copy link

@tur-ing tur-ing commented Mar 2, 2016

Is there already an update of Zuul that supports the full duplex channels on websockets?

@dsyer

This comment has been minimized.

Copy link
Contributor

@dsyer dsyer commented Mar 2, 2016

AFAIK there is no Zuul 2.x yet (they got to a release candidate and then stalled). Just keep tracking the Netflix issue.

@cforce

This comment has been minimized.

@kongslund

This comment has been minimized.

Copy link

@kongslund kongslund commented Sep 22, 2016

Zuul 2 is just right around the corner but although websocket support is planned it will not be part of the first release.

Zuul 2 : The Netflix Journey to Asynchronous, Non-Blocking Systems

We are in the process of releasing Zuul 2 as open source. Once it is released, we’d love to hear from you about your experiences with it and hope you will share your contributions! We plan on adding new features such as http/2 and websocket support to Zuul 2 so that the community can also benefit from these innovations.

@mthizo247

This comment has been minimized.

Copy link

@mthizo247 mthizo247 commented Apr 4, 2017

We have created a web socket support feature to resolve this issue. I will be creating a pull request in spring cloud netflix soon. The library and demo are currently hosted in github.

@spencergibb

This comment has been minimized.

Copy link
Member

@spencergibb spencergibb commented Apr 6, 2017

It's not really zuul websocket support, it's a standalone websocket proxy that happens to sit next to zuul, correct @mthizo247?

@mthizo247

This comment has been minimized.

Copy link

@mthizo247 mthizo247 commented Apr 20, 2017

@spencergibb yes that's correct.

@ExtremeYu

This comment has been minimized.

Copy link

@ExtremeYu ExtremeYu commented Jun 20, 2017

@spencergibb the demo of zuul&websocket is not work with service-id,the demo just support url based service dicsovery

@spencergibb

This comment has been minimized.

Copy link
Member

@spencergibb spencergibb commented Jun 20, 2017

@ExtremeYu you'll have to speak to the author of the demo.

@barrett-rob

This comment has been minimized.

Copy link

@barrett-rob barrett-rob commented Jun 23, 2017

Have been looking at this issue, we have a similar requirement, to proxy websocket connections through a zuul server. The requirement is slightly different though because the websocket connections will be 'special' and won't need to be handled in the same way as other requests that come through zuul.

Previously this was really easy to achieve with nodejs and http-proxy. This is an example of how to get started in java and Spring Boot: https://github.com/barrett-rob/java-websocket-reverse-proxy

NB: no safety, connection reestablishment, etc

@jonfreedman

This comment has been minimized.

Copy link

@jonfreedman jonfreedman commented Sep 4, 2017

What's the status of Zuul 2.0? Is 2.0.0-rc.2 suitable for production use or is "the process of releasing Zuul 2 as open source" still ongoing?

@spencergibb

This comment has been minimized.

Copy link
Member

@spencergibb spencergibb commented Sep 4, 2017

You'll have to ask Netflix

@tsmgodoi

This comment has been minimized.

Copy link

@tsmgodoi tsmgodoi commented Sep 4, 2017

@jonfreedman I think spring cloud now has a new gateway solution (namely, http://cloud.spring.io/spring-cloud-gateway/) which already supports Websockets.

@ExtremeYu

This comment has been minimized.

Copy link

@ExtremeYu ExtremeYu commented Sep 4, 2017

@tsmgodoi what different between the zuul and spring cloud gateway????????????????????????????????

@tsmgodoi

This comment has been minimized.

Copy link

@tsmgodoi tsmgodoi commented Sep 4, 2017

@ExtremeYu I don't know. I haven't used it yet. I think it is based on spring boot 2.0 and spring framework 5. So probably you won't be able to use it with existing software without updating it.

@jonfreedman

This comment has been minimized.

Copy link

@jonfreedman jonfreedman commented Sep 5, 2017

I spent several hours yesterday looking at the alternatives, none of which I could make work with netty-socketio.

For reference these include:

Given what I'm trying to achieve I'm just putting this on hold until December. Currently the Spring release milestones are:

@berndgoetz

This comment has been minimized.

Copy link

@berndgoetz berndgoetz commented Feb 6, 2018

@jonfreedman any new insights since December?

@spencergibb

This comment has been minimized.

Copy link
Member

@spencergibb spencergibb commented Feb 6, 2018

Zuul 2 will not be incorporated into Spring Cloud. See spring cloud gateway for websockets support

@spencergibb spencergibb closed this Feb 6, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
You can’t perform that action at this time.