从0到1快速了解netty长连接网关协议

IM(即时通讯系统)作为一项基本能力,在各个公司的产品中都处于一个举足轻重的地位。作为IM能力的最重要提供方,长连接网关的设计至关重要。本文以比心聊天室解决方案开源项目SONA为例,解析netty长连接网关在协议层的设计,帮助读者快速了解长连接协议。本文最后附上开源项目地址。


一、长连接网关是什么?

sona-gateway 是比心自研的长连接网关,基于 Netty 开发,同时支持 TCP 和 Websocket,承载了比心几乎所有的业务,提供超高的性能,易扩展,普通的4核8G机器,就能稳定支撑几十万连接。

如果不需要整套 SONA 服务,也可以简单修改其中的房间相关业务代码后,单独剥离出来作为网关使用,即使从来没用过 Netty,对Netty一点都不了解,也能非常方便的扩展自己的业务。使用者不用关心如何实现一个私有协议的细节,直接使用我们内置的通信协议。可以非常简单的启动客户端与服务端,同时注册自定义的请求处理器,即可完成双端通信。同时,像连接管理、心跳等基础功能特性都默认可以使用。

网关中最核心的基础通信、消息协议、请求处理器等设计都是通用的:

1. 基础通信功能

  • 基于 Netty 高效的网络 IO 与线程模型运用
  • 连接管理 
  • 基础通信模型
  • 超时控制
  • 心跳与空闲事件处理

2. 协议框架

  • 命令与命令处理器
  • 编解码处理器
  • 心跳触发器

3. 私有协议定制实现

  • 二进制通信协议的设计
  • 灵活的消息压缩、合并
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值