将客户端与服务器之间的Websocket通信重定向到另一个Websocket服务器

20

我已经有一个SimpleBrokerWebsocket实现。现在我正在向基于微服务的架构迁移,并尝试创建独立的消息微服务。

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

因此,我需要一些关于如何处理身份验证以及发送消息给正确用户的想法。

此外,我想知道如何满足这个要求的架构设计。我想使用StompBrokerRelay来实现微服务。

1个回答

4
通常情况下,部署 Web 应用程序时会在反向代理后面运行它们。在面向服务的架构中,这种情况更加普遍。NGINX 可以执行 WebSocket 连接的反向代理。因此,您可以在 NGINX 后面运行您的应用程序,将其指向原始应用程序,然后当您准备部署新的 WebSocket 微服务时,您可以配置 NGINX 将所有特定 WebSocket URL 的请求代理到您的新服务。您也可以尝试通过使用 WebSocket 客户端从套接字处理程序实现自己的反向 WebSocket 代理,但这将是困难、容易出错且比使用像 NGINX 这样的专门工具慢。

2
感谢您的评论。我们已经使用nginx作为代理,但是目前身份验证由我们现有的系统管理,我们稍后将其分离为另一个微服务。因此,在身份验证之后,我想从现有应用程序中重定向流量到微服务。因此,我的要求是从应用程序本身重定向流量。 - Vivek
1
@Vivek,你有没有得到这个问题的答案/解决方案?我也正在寻找完全像这样的解决方案。如果你已经解决了,请告诉我。 - Jerokdeep

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接