1M Go websockets

在 Go 中处理 1M websockets 连接。(handling 1M websockets connections in Go)

  • 所有者: eranyanay/1m-go-websockets
  • 平台: Docker, Linux
  • 许可证: GNU Affero General Public License v3.0
  • 分类:
  • 主题:
  • 喜欢:
    0
      比较:

Github星跟踪图

Going Infinite,在 Go 中处理 100 万个 websockets 连接

这个库包含了在 2019 年 Gophercon Israel talk 中看到的示例的完整实现。

Going Infinite,在 Go 中处理 100 万个 websockets 连接 — [ 视频 | 幻灯片 ]

它并不打算或声称比其他实现 websocket 协议的库更好、更优化的实现,它只是展示了一套工具,所有这些工具结合在一起,展示了一个用纯 Go 编写的服务器,该服务器能够用不到 1GB 的内存为超过一百万个 websockets 连接提供服务。

使用方法

这个资源库展示了如何在 Linux 中有效地维护大量的 websockets 连接。

一切都用纯 Go 编写

每个文件夹都展示了一个服务器实现的例子,它克服了由操作系统、硬件或 Go 运行时本身提出的各种问题,正如演讲中所展示的那样。

setup.sh 是一个使用 Docker 运行多个实例的包装器。有关如何使用它的更多细节,请参见脚本内容。

destroy.sh 是一个包装器,用于停止所有正在运行的客户端。

可以通过运行 go run client.go -conn=<#连接建立> 来执行单个客户端实例。



主要指标

概览
名称与所有者eranyanay/1m-go-websockets
主编程语言Go
编程语言Go (语言数: 2)
平台Docker, Linux
许可证GNU Affero General Public License v3.0
所有者活动
创建于2019-02-10 13:41:43
推送于2022-08-14 11:12:13
最后一次提交2021-10-17 23:51:45
发布数0
用户参与
星数5.9k
关注者数113
派生数632
提交数9
已启用问题?
问题数0
打开的问题数0
拉请求数4
打开的拉请求数1
关闭的拉请求数2
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?

Going Infinite, handling 1M websockets connections in Go

This repository holds the complete implementation of the examples seen in Gophercon Israel talk, 2019.

Going Infinite, handling 1 millions websockets connections in Go / Eran Yanay — [ Video