IM简介
什么是IM
IM:即时通信 IM(Instant Messaging),即时通信技术归根结底还是网络编程技术的应用。
很多团队可以直接选择“短平快”的云IM接入APP中,但是,考虑到云IM无论是从商业模式还是运营模式上,都还需要多年的沉淀,才可能真正实现客户和运营商的运营和服务良性循环的双赢局面。
核心功能:
- 单聊/群聊/聊天室/多设备登陆/在线状态
- 文本消息/多媒体消息/离线同步/历史消息/消息漫游
- 多端同步/消息撤回/已读未读/离线推送
- 添加好友/会话列表/好友列表
假定指标:
- DAU 5亿+,每人每天100条消息,收发消息p99 200ms以下,QPS平均50w,峰值75w
- 每条消息10KB,则每日存储增长量约 450TB $(100*10*5*10^8KB)$
业务划分:
- 自定义应用层协议(提升性能,解决粘包)
- 长连接网关(提升性能,替代短连接,可push)
- 心跳/重连/弱网
- 分布式缓存
- 分布式存储
- 领域驱动设计DDD