Go语言编写轻量级网络库《GrapeNet》

GrapeNet

作者: koangel 发表于: 2017-08-13 17:24:40

简介(Introduction)

Go语言编写轻量级网络库 (grapeNet is a lightweight and Easy Use Network Framework)

可用于游戏服务端、强网络服务器端或其他类似应用场景,每个模块单独提取并且拥有独立的使用方法,内部耦合性较轻。

其实GO语言曾经有过很多强架构的框架,比如GOWOLRD之类的,已经足够了,但是我会将库用于各种轻量级应用不需要过于复杂的内容,所以我设计了GrapeNet,目的是模块独立化。 你可以拆开只使用其中很小的模块,也可以组合成一个服务端,并且在架构中设计也较为轻松,至于热更新的问题,目前脚本数据支持热更新,并且是自动的,只要跑一下UPDATE即可,程序本身稍后测试后发布(仅支持LINUX)。

本库更像是一个日常服务端开发的轻量级工具库集合,用的开心噢。

发布: 0.1测试版本,部分模块已经跑过Benchmark和Test

Github:https://github.com/koangel/grapeNet

安装

go get -u github.com/koangel/grapeNet...

模块表(Function)

Lua脚本绑定管理(可绑定任何类型的函数、线程安全且自动推倒类型)
日志库(底层采用Seelog)
函数管理系统(可以根据任何类型参数将其与函数绑定并互相调用)
流处理
Tcp网络
Websocket网络 (基础版)
Codec(任意类型注册对象并在其他位置动态创建该对象)

依赖第三方

Seelog (github.com/cihub/seelog)
Gopher-lua(github.com/yuin/gopher-lua)
Gopher-luar(layeh.com/gopher-luar)
不依赖任何CGO内容,lua本身也是纯GO实现。