V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
EIJAM
V2EX  ›  Go 编程语言

哪里有 Golang 的 websocket 框架对比

  •  
  •   EIJAM · 2020-10-15 16:11:34 +08:00 via iPhone · 6047 次点击
    这是一个创建于 1490 天前的主题,其中的信息可能已经有所发展或是发生改变。
    新接手的 go 应用里用到了 gorilla websocket,随手查了一下发现 golang 的 x 包里还有个 net/websocket 。
    网上没找到对比文章,有大佬能简单讲讲么?比如性能,稳定性,使用难易度之类的。
    或者给个提示去哪里查
    12 条回复    2021-09-26 16:30:17 +08:00
    xkeyideal
        1
    xkeyideal  
       2020-10-15 16:19:37 +08:00
    首先别说查不到,网上一堆,换个姿势试试
    说结论:
    1 、别用 x 包的 websocket
    2 、目前 golang 最简单易用的 websocket 框架就是 gorilla 了
    3 、gorilla 的 websocket 如果连接数上千过万,会存在问题
    4 、还有另外一个 websocket 裤子性能、内存各方面说是很厉害,但易用性比较差,名字记不住,自己查
    5 、除非需要与前端进行全双工业务,否则别用 websocket
    EIJAM
        2
    EIJAM  
    OP
       2020-10-15 16:27:39 +08:00 via iPhone
    @xkeyideal 了解了,感谢点拨🙏🏻
    jorneyr
        3
    jorneyr  
       2020-10-15 16:30:00 +08:00
    orilla 的 websocket 如果连接数上千过万,会存在问题: 这么差
    lasuar
        4
    lasuar  
       2020-10-15 17:31:08 +08:00
    @xkeyideal 上千就差的话给出一下证据?
    90928yao
        5
    90928yao  
       2020-10-15 17:48:50 +08:00
    zhs227
        6
    zhs227  
       2020-10-15 17:57:58 +08:00
    gorilla 是目前通用性最强的,go 官方的包里好像也推荐使用 gorilla 。追求性能极致,不接受一个连接两个 routine 的或每个连接一个读 routine 的,要使用其它的包。比方说网上有篇出名的如何用 go 同时处理百万 websocket 连接。
    chotow
        7
    chotow  
       2020-10-15 18:16:38 +08:00
    gorilla/websocket 在找新的维护人,迭代停滞,许久才有一些爱好者提交的小修复,不过除了它也没有更好的框架了。
    ghjacky
        8
    ghjacky  
       2020-10-15 18:31:09 +08:00
    github.com/googollee/go-socket.io
    用的这个结合 gin 做的 server,不过我们这系统没啥业务量,暂时也不知道有啥性能上的瓶颈
    joesonw
        9
    joesonw  
       2020-10-15 18:34:35 +08:00
    EIJAM
        10
    EIJAM  
    OP
       2020-10-15 23:17:35 +08:00 via iPhone
    @zhs227
    @ghjacky
    @chotow
    @joesonw
    多谢指点
    rita413413
        11
    rita413413  
       2021-01-30 19:28:56 +08:00 via iPhone
    能发言吗
    Ansen
        12
    Ansen  
       2021-09-26 16:30:17 +08:00
    我用 x 包的 websocket 实现的 webssh 各种完美,
    gorilla 的 各种问题😅
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5817 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 03:03 · PVG 11:03 · LAX 19:03 · JFK 22:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.