gnet —— 高性能和轻量级网络库
gnet是一个基于事件驱动的高性能和轻量级网络框架。它直接使用epoll和kqueue系统调用而非标准 Golang 网络包:net来构建网络应用,它的工作原理类似两个开源的网络库:netty和libuv。 这个项目存在的价值是提供一个在网络包处理方面能和Redis、Haproxy这两个项目具有相近性能的 Go 语言网络服务器框架。 gnet的亮点在于它是一个高性能、轻量级、非阻塞的纯 Go 实现的传输层(TCP/UDP/Unix-Socket)网络框架,开发者可以使用gnet来实现自己的应用层网络协议(HTTP、RPC、Redis、WebSocket 等等),从而构建出自己的应用层网络应用:比如在gnet上实现 HTTP 协议就可以创建出一个 HTTP 服务器 或者 Web 开发框架,实现 Redis 协议就可以创建出自己的 Redis 服务器等等。 gnet衍生自另一个项目:evio,但性能远胜之。 功能 高性能的基于多线程/Go程网络模型的 event-loop 事件驱动 内置 Round-Robin 轮询负载均衡算法 内置 goroutine 池,由开源库ants提供支持 内置...
