IM简介

什么是IM

IM:即时通信 IM(Instant Messaging),即时通信技术归根结底还是网络编程技术的应用。

很多团队可以直接选择“短平快”的云IM接入APP中,但是,考虑到云IM无论是从商业模式还是运营模式上,都还需要多年的沉淀,才可能真正实现客户和运营商的运营和服务良性循环的双赢局面。

核心功能:

  1. 单聊/群聊/聊天室/多设备登陆/在线状态
  2. 文本消息/多媒体消息/离线同步/历史消息/消息漫游
  3. 多端同步/消息撤回/已读未读/离线推送
  4. 添加好友/会话列表/好友列表

假定指标:

  • DAU 5亿+,每人每天100条消息,收发消息p99 200ms以下,QPS平均50w,峰值75w
  • 每条消息10KB,则每日存储增长量约 450TB $(100*10*5*10^8KB)$

业务划分:

  • 自定义应用层协议(提升性能,解决粘包)
  • 长连接网关(提升性能,替代短连接,可push)
  • 心跳/重连/弱网
  • 分布式缓存
  • 分布式存储
  • 领域驱动设计DDD