Go语言实现长连接并发框架 - 开篇

前言

你好,我是醉墨居士,国庆假期闲来无事,准备使用Go语言开发一个轻量级的长连接并发框架,希望能够帮助大家掌握这类框架的心脏与内核,也希望能给大伙带来灵感与启发

初步设计思路

初步设想是对客户端连接进行管理与维护,基于epoll完成连接事件的监听,然后进行连接事件的处理(读取连接数据,解析连接数据,数据的业务处理)

提供网关模块、连接管理模块、请求分发模块,任务处理模块

  • 网关模块接受客户端连接,并交给连接管理模块进行连接后续的维护与管理
  • 连接管理模块进行客户端连接的管理,并通过epoll监听连接的事件,将事件发送到队列中提交给请求分发模块进行处理
  • 请求分发模块接收连接队列中的连接,并进行读取数据、数据拆包、请求封装等操作,然后将请求提交到请求队列
  • 任务处理模块接收请求队列中的请求,并基于请求中的消息ID执行对应服务端注册的任务处理流,来消费请求,完成业务处理

初步架构图

在这里插入图片描述

项目地址

Github:https://github.com/zm50/gte
Giee:https://gitee.com/zm50/gte

最后

我是醉墨居士,欢迎大家一起交流讨论,互相进步。也希望各位能够多多支持,进行关注、收藏、点赞

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

醉墨居士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值