V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
zhuoyue100
V2EX  ›  问与答

请教一个场景怎么搭建服务

  •  
  •   zhuoyue100 · 112 天前 · 827 次点击
    这是一个创建于 112 天前的主题,其中的信息可能已经有所发展或是发生改变。
    1. 有一个 tcp 服务,连接成千上万的设备
    2. 有一个 websocket 服务,连接用户端 如 web ,小程序,app 等

    用户发送的请求通过 websocket 通知给 tcp 到设备,下面 2 种方案怎么选择?

    1. tcp 和 websocket 服务合并成单个服务开发部署 缺点:每次重启 ws 就要重启 tcp , 优点:不需要 2 个服务之间通信
    2. tcp 和 ws 分开部署 缺点: 服务间需要通信,要么 ws 开一个 tcp 客户端,要么用消息中间件, 增加维护成本 优点:ws 可以单独重启,ws 服务上含有业务 api
    3 条回复
    sagaxu
        1
    sagaxu  
       112 天前
    当然按分开部署设计,不要有直接调用,走 RPC 或消息队列,留下足够弹性。
    实际上线运营,初期可以部署在一起,小项目也没必要搞微服务,直接单体多服务,有需要时再独立部署。
    sagaxu
        2
    sagaxu  
       112 天前
    简单点来,那个 TCP 服务也可以走 ws 连接到那个 websocket 服务,作为“特殊的用户”存在,就变成其它用户给这个“特殊的用户”发消息了。
    zhuoyue100
        3
    zhuoyue100  
    OP
       112 天前
    @sagaxu 拜谢大佬!!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2265 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 15:53 · PVG 23:53 · LAX 07:53 · JFK 10:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.