如何快速开发一个IM系统

  1. 云栖社区>
  2. 博客>
  3. 正文

如何快速开发一个IM系统

寻剑 2018-08-22 16:25:16 浏览1830
展开阅读全文

本文将会给大家介绍如何开发一个简单的即时通讯系统(IM)。

为什么不简单

我们的站点加一个即时通讯(IM)的功能,那么我们怎么做?

在回家的路上,问了同是实习生(网络方向)的舍友这样一个问题,他回答:“很简单,只需要在服务端保存一个list,收到一个人的message后,我转发给list中指定的另一个人就好啦”

接着,我们讨论了一晚上下面的几个问题

  1. 对方不在线怎么办?
  2. 内存里保存list的话,人多了怎么办?
  3. 怎么查看历史记录?怎么多端同步数据?
  4. 为什么微信用户只能建立有限个群,并且群聊功能很晚才开放?为什么微信好友数是有上线的?
  5. 怎么保证消息有序、不丢失数据?
  6. 如何保证消息的时效性?
  7. 如何承担高并发流量?

最后讨论的结果是:开发一个稳定高效的IM产品是相对困难的,上面这些难题,QQ、微信等产品都遇到过。而且IM产品一旦量达到一定程度,性能、稳定性、可用性

网友评论

登录后评论
0/500
评论
寻剑
+ 关注