文章目录
- 前言
- 初步设计思路
- 初步架构图
- 项目地址
- 最后
前言
你好,我是醉墨居士,国庆假期闲来无事,准备使用Go语言开发一个轻量级的长连接并发框架,希望能够帮助大家掌握这类框架的心脏与内核,也希望能给大伙带来灵感与启发
初步设计思路
初步设想是对客户端连接进行管理与维护,基于epoll完成连接事件的监听,然后进行连接事件的处理(读取连接数据,解析连接数据,数据的业务处理)
提供网关模块、连接管理模块、请求分发模块,任务处理模块
- 网关模块接受客户端连接,并交给连接管理模块进行连接后续的维护与管理
- 连接管理模块进行客户端连接的管理,并通过epoll监听连接的事件,将事件发送到队列中提交给请求分发模块进行处理
- 请求分发模块接收连接队列中的连接,并进行读取数据、数据拆包、请求封装等操作,然后将请求提交到请求队列
- 任务处理模块接收请求队列中的请求,并基于请求中的消息ID执行对应服务端注册的任务处理流,来消费请求,完成业务处理
初步架构图
项目地址
Github:https://github.com/zm50/gte
Giee:https://gitee.com/zm50/gte
最后
我是醉墨居士,欢迎大家一起交流讨论,互相进步。也希望各位能够多多支持,进行关注、收藏、点赞