[开源] gnet: 一个基于事件驱动的轻量级且高性能 Go 网络库

2019-10-15 11:29:51 +08:00
 panjf2000

gnet 是一个基于事件驱动的高性能和轻量级网络框架。它直接使用 epoll 和 kqueue 系统调用而非标准 Golang 网络包:net 来构建网络应用,它的工作原理类似两个开源的网络库:netty 和 libuv。

gnet 的亮点在于它是一个高性能、轻量级、非阻塞的纯 Go 实现的传输层( TCP/UDP/Unix-Socket )网络框架,开发者可以使用 gnet 来实现自己的应用层网络协议,从而构建出自己的应用层网络应用:比如在 gnet 上实现 HTTP 协议就可以创建出一个 HTTP 服务器 或者 Web 开发框架,实现 Redis 协议就可以创建出自己的 Redis 服务器等等。

gnet 衍生自另一个项目:evio,但性能远胜之。

功能

2613 次点击
所在节点    分享创造
5 条回复
panjf2000
2019-10-15 11:35:39 +08:00
发不了外链。。。
有人知道怎么回事吗?
panjf2000
2019-10-15 11:37:26 +08:00
zeromake
2019-10-15 12:02:03 +08:00
可以的 gev 和 gnet 互相在 readme 里打败了对方
zeromake
2019-10-15 12:48:15 +08:00
panjf2000
2019-10-15 15:59:47 +08:00
@zeromake
这个问题,可以看下这个 github issue:github.com/panjf2000/gnet/issues/17

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/609451

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX