关注 #
其他 #
netty/netty #
Netty project - an event-driven asynchronous network application framework http://netty.io/
libuv/libuv #
Cross-platform asynchronous I/O https://libuv.org/
panjf2000/gnet #
gnet 是一个基于事件驱动的高性能和轻量级网络框架。它直接使用 epoll 和 kqueue 系统调用而非标准 Go 网络包:net 来构建网络应用,它的工作原理类似两个开源的网络库:netty/netty 和 libuv/libuv 。
gnet 设计开发的初衷不是为了取代 Go 的标准网络库:net,而是为了创造出一个类似于 antirez/redis 、haproxy/haproxy 能高效处理网络包的 Go 语言网络服务器框架。
gnet 的卖点在于它是一个高性能、轻量级、非阻塞的纯 Go 实现的传输层(TCP/UDP/Unix Domain Socket)网络框架,开发者可以使用 gnet 来实现自己的应用层网络协议 (HTTP、RPC、Redis、WebSocket 等等),从而构建出自己的应用层网络应用:比如在 gnet 上实现 HTTP 协议就可以创建出一个 HTTP 服务器 或者 Web 开发框架,实现 Redis 协议就可以创建出自己的 Redis 服务器等等。
gnet 衍生自另一个项目:tidwall/evio ,但拥有更丰富的功能特性,且性能远胜之。
tidwall/evio #
Fast event-loop networking for Go
叶王 © 2013-2024 版权所有。如果本文档对你有所帮助,可以请作者喝饮料。