gpt4 book ai didi

web-applications - 微服务架构中的Websocket

转载 作者:行者123 更新时间:2023-12-03 11:43:13 37 4
gpt4 key购买 nike

假设我们有一个通知服务,该服务从消息队列中读取事件并实时通知所有Web客户端。我知道Web套接字是如何工作的,但是我感到困惑的是,当两者之间存在API网关时,客户端,API网关和通知服务之间如何保持Web套接字连接。

请帮忙!谢谢

编辑:
建筑:
enter image description here

最佳答案

网络套接字

客户端打开的Websocket连接最终必须连接到Websocket服务器。

API网关

API网关的工作是接受来自客户端的传入Websocket连接,并将其正确路由到Websocket服务器。 API网关会将从客户端网络套接字发送的所有数据重定向到正确的后端服务,并在整个过程中保持连接。

一切如何协同工作...

您问题的根源是“我如何让具有websocket连接的客户端从通知服务接收实时更新?”。最简单的答案是在Notification Service上启动Websocket服务器,让每个客户端连接到API网关,然后让API网关将流量路由到Notification Service。

  • 客户端<=> API网关<=>通知服务

  • 更进一步...

    如果客户端对转换通知服务中的数据有进一步的要求,则可以:
  • 将业务逻辑填充到Notification Service中(不推荐)。
  • 或者,在API网关和Notification Service之间添加具有转换逻辑的另一个服务,称为Backends for Frontends微服务设计模式(推荐):
  • 客户端<=> API网关<=>通知服务器(转换逻辑)<=>通知服务。
  • 或者,如果您选择的API网关旨在容纳业务逻辑和转换数据;将转换逻辑直接放在API网关中。
  • 关于web-applications - 微服务架构中的Websocket,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47544877/

    37 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com