如何在API网关后面隐藏多个websockets服务?

问题描述 投票:0回答:1

我正在一个项目中,该项目在API网关后面有多个微服务,其中一些公开WebSockets API。

WebApp必须能够与这些API进行交互。

Current architecture

这些WebSocket API可以使用具有自己的协议的框架来构建,无论是否使用socket.io,等等。>>

此反思的主要目标是能够扩展并保持WebSockets API实现的灵活性。

我考虑了两种解决方案:

  • 第一个是简单地在网关上代理请求,Web应用程序必须为每个微服务打开一个Websocket,这对我来说似乎是一个设计缺陷。

  • 另一个是创建一个“通知程序服务”,它将成为WebSocket服务器,并保持与用户的传出连接,并能够基于自定义协议桥接传入消息和传出消息。缺点是我需要实现发布/订阅系统(或找到解决方案)。我没有花很多钱,但是看起来很多工作和自制的解决方案,我不喜欢它。

  • 在生产中暴露了这样的体系结构和网络套接字后,我没有找到能提供反馈的文章,我希望在这里找到一些。

我正在一个项目中,该项目在API网关后面具有多个微服务,其中一些公开WebSockets API。 WebApp需要能够与这些API进行交互。 。那些WebSocket API ...

websocket architecture microservices real-time api-gateway
1个回答
0
投票

我同意你的观点,简单的代理解决方案似乎不足,因为它向客户端公开了内部接口。我发现有两篇文章可以解决您的问题:

© www.soinside.com 2019 - 2024. All rights reserved.