这是一个基于Golang开发的轻量级的长连接并发服务器框架,参照开源框架Zinx进行开发。建立此项目,用于记录我个人开发搭建整个框架的过程,同时记录过程中遇到的一些问题和心得体会。
zinx框架主要功能模块包括:服务器模块,路由模块,链接模块等。
- 服务器模块
开启服务,停止服务,运行服务,注册路由等。
- 路由模块
提供处理业务的核心方法。
- 链接模块
获取原始的socket TCPConn,获取链接id,获取远程客户端的地址信息,发送消息给客户端等。
zinx框架是一个轻量级的长连接并发服务器框架, 在zinx中实现了对请求消息的封装,包括对消息的封包和拆包,用于解决消息传递过程中的粘包现象;另外,zinx也实现了多路由模式,实现了服务端的读写分离,还实现了消息队列及多任务机制,通过建立工作池来提高服务器的工作效率,降低了多goroutine之间的切换成本。
后续更新
后续更新
目前整个框架还在逐步完善中,因为是个人项目,所以会不定期更新,有兴趣的朋友们希望可以关注并fork一下,欢迎大家一起参与其中,谢谢大家。