您当前的位置: 首页 > 

IM(即时通讯)长连接层的设计

蔚1 发布时间:2020-03-26 23:30:25 ,浏览量:4

在社交类产品中,IM 的设计是非常重要的一环。而在此类产品设计中,为了能够实时的收发消息,业务通用的做法都是通过 TCP 长连接来实现。一个 IM 架构中,会分为好几个层次,或者模块。比如说 TCP 长连接层、路由层、业务层、存储层、用户中心等。

TCP 长连接层维持着与用户的长连接,那么长连接层怎么设计?有哪些设计关键点?

本文带你来一一梳理其中要点:

  • 通过什么数据结构来合理的管理好长连接层的连接
    • 需要能够快速根据用户找到连接,也需要能够根据连接找到对应的用户
  • TCP 长连接超时怎么管理
    • 服务端的连接怎么维持?客户端如果连接异常怎么剔除?
  • TCP 长连接接入层负载均衡怎么设计
    • 长连接层都有多个,怎么合理的设计,来做好负载均衡?如果新扩一台机器能否快速对其他机器减压?
  • 如何优雅的重启长连接层,避免断开用户连接从而影响体验
    • 长连接层和用户紧密相连,如果随意重启,用户的连接就会被断开,此时如果用户正在发消息,那么必然发送失败。因此需要能够优雅重启避免影响体验
  • TCP 长连接层怎么防止恶意攻击
    • 怎么防止别人对你的攻击?(建连攻击、发送消息攻击)

阅读全文: http://gitbook.cn/gitchat/activity/5e735b0c772c9a5214490fde

您还可以下载 CSDN 旗下精品原创内容社区 GitChat App ,阅读更多 GitChat 专享技术内容哦。

FtooAtPSkEJwnW-9xkCLqSTRpBKX

关注
打赏
1688896170
查看更多评论

蔚1

暂无认证

  • 4浏览

    0关注

    4645博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0636s