将websocket通信从客户端重定向到服务器到另一个websocket服务器

时间:2016-09-01 15:53:54

标签: java spring-security spring-boot stomp spring-websocket

我已经有了SimpleBrokerWebsocket实现。现在我正在迁移到基于微服务的架构,并尝试将消息传递作为单独的微服务。

为了避免破坏现有的客户端部署并逐步转向完整的基于微服务的架构,我希望旧的套接字端点重定向到微服务提供的新套接字端点。

所以我需要一些想法,如何处理身份验证并向正确的用户发送消息。

此外,我想了解如何针对此要求进行架构设计。我想使用StompBrokerRelay进行微服务。

1 个答案:

答案 0 :(得分:4)

通常,在部署Web应用程序时,请在反向代理后面运行它们 在面向服务的架构中,这更为常见 NGINX can perform reverse proxying of websocket connections
因此,您可以在NGINX后面指向您的原始应用程序运行您的应用程序,然后当您准备部署新的websocket微服务时,您可以配置NGINX以将针对该特定websocket URL的所有请求代理到您的新服务。
您还可以尝试使用套接字处理程序中的websocket客户端在Java中实现自己的反向websocket代理,但这比使用像NGINX这样的专用工具要困难,容易出错且速度慢。