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

Viv*_*vek 19 java stomp spring-security spring-boot spring-websocket

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

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

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

此外,我想知道如何为这个要求的架构.我想使用StompBrokerRelay进行微服务.

Mag*_*nus 4

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

  • 感谢您的评论..我们已经使用 nginx 作为代理...但是目前身份验证由我们现有的系统管理...我们稍后将其作为另一个微服务分开...所以在身份验证后我想将流量重定向到微服务来自我现有的应用程序。所以我的要求是重定向来自应用程序本身的流量。 (2认同)