最快的 Go 网络框架 gnet 来啦!

最快的 Go 网络框架 gnet 来啦!_第1张图片

gnet 是什么?

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

gnet 设计开发的初衷不是为了取代 Go 的标准网络库:net,而是为了创造出一个类似于 Redis、Haproxy 能高效处理网络包的 Go 语言网络服务器框架。

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

开源地址:https://github.com/panjf2000/gnet

v1.0.0 正式版本

从 2019 年 9 月份开放源码到 GitHub,经过半年多的新功能开发、bug 修复、架构设计重构以及性能优化,Go 语言网络框架 gnet 现在终于发布了第一个正式的 v1 稳定版本!具体的 release 列表可以到 https://github.com/panjf2000/gnet/releases 查看。往后还会持续不断地进行开发、修复、优化甚至重构,如果 gnet 的用户在使用的过程中发现 bug,随时到 gnet 的 Github Issue 页 给我提 issue。

目前,gnet 具备了如下的功能特性:

  • 高性能 的基于多线程/Go 程网络模型的 event-loop 事件驱动

你可能感兴趣的:(网络,开源项目,Go语言,go,网络,软件框架)