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

我已经有一个SimpleBrokerWebsocket实现。现在,我正在迁移到基于微服务的体系结构,并尝试将消息传递创建为单独的微服务。

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

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

另外,我想知道如何针对此要求进行体系结构。我想使用StompBrokerRelay进行微服务。


答案 1

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


答案 2

推荐