V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
bazzi91666666
V2EX  ›  程序员

大量客户端与服务器持续通信,大概一秒 1 次的频率,使用 websocket 和 http 请求,哪种方式对服务器负载更低?

  •  
  •   bazzi91666666 · 2018-02-26 10:55:44 +08:00 · 5874 次点击
    这是一个创建于 2460 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请教各位大大,或者有什么资料能参考吗

    litter123
        1
    litter123  
       2018-02-26 11:02:17 +08:00
    如果不是要从 50000qps 提升到 500000qps,我建议先考虑提升机器配置
    mengzhuo
        2
    mengzhuo  
       2018-02-26 11:07:37 +08:00
    能加机器么?
    压力是均匀还是集中的?
    有状态么?
    一定要用 http 么?
    一定要用 tcp 么?
    guoyang
        3
    guoyang  
       2018-02-26 11:14:42 +08:00
    不是很清楚所谓的 1 秒一次,对于 client 来说是上行还是下行,如果只是接受消息,我觉得这两者都没有任何问题。问题的关键在于你服务端是否可以水平扩展,不在于到底选择哪种通讯协议。你这种描述问题的方式,基本上没有人能够给你提供有用的答案。
    jiantao
        4
    jiantao  
       2018-02-26 11:18:46 +08:00
    websocket
    SYP
        5
    SYP  
       2018-02-26 11:25:48 +08:00
    短连接效率上怎么能跟长连接比。
    linyinma
        6
    linyinma  
       2018-02-26 11:33:36 +08:00
    ( 1 )大量客户端;( 2 )一秒一次频率: 假设传输层使用 TCP,在 1 秒一次频率下肯定 TCP 长连接较为合理, 但存在大量客户端但就涉及架构(单机 /分布式 /多进程 /多线程)&网络( epoll/select ).....;


    这种需求下我先想到的是传输层使用 UDP 协议,应用层自定义,但具体还是要根据需求架构决定~~
    enenaaa
        7
    enenaaa  
       2018-02-26 11:46:03 +08:00
    用长连接。http 虽然可以连接复用, 但还是得用轮询模式,不适合广播类应用。
    不考虑网页应用的话,udp 也是一个选择。
    realpg
        8
    realpg  
       2018-02-26 12:02:11 +08:00
    udp 比较合适……
    cxh116
        9
    cxh116  
       2018-02-26 12:04:02 +08:00 via Android
    grpc stream
    zjsxwc
        10
    zjsxwc  
       2018-02-26 13:01:00 +08:00
    用 udp +1
    MeteorCat
        11
    MeteorCat  
       2018-02-26 13:17:34 +08:00 via Android
    游戏服务端吗?如果是的话可以把 http 去除,其次就是 tcp 和 udp 的选择,如果是要求高可靠性不计较太多访问开销,那么可以考虑 tcp(当然 udp 也有可靠性传输的方案,但是入门门槛不低所以推荐比较广泛的 tcp)
    fcten
        12
    fcten  
       2018-02-26 14:31:52 +08:00   ❤️ 3
    如果是单向的向服务端提交数据,那么两者差别不大,各有优势。http 无状态水平扩展更容易。websocket 无需重复传输 http 头比较省流量。
    如果双向的数据通讯,那么毫无疑问选择 webscoket。http 只有在不兼容 websocket 的平台上才有考虑的必要。
    HaoyangWei
        13
    HaoyangWei  
       2018-02-26 17:34:43 +08:00
    接入服务器用短连接,后台用长连接,不知道这样如何?
    客户端多了堆接入服务器就好了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3505 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 00:49 · PVG 08:49 · LAX 16:49 · JFK 19:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.