踏莎行·术 - IM设计思考:试问

本文探讨了即时通讯(IM)系统的设计要点,特别是针对海量用户环境。包括海量接入管理、安全认证机制、消息转发策略、离线消息处理、状态广播优化、多点登录支持、用户关系管理和多媒体通信等多个方面。

用过IM很多年了,直到最近才开始好好想想IM的实现需要考虑哪些方面?

特别是在海量用户的IM环境下,需要考虑哪些方面,自己大概思考了下总结如下:


1. 海量接入

QQ的最高在线用户超过了1亿,那么大约每台服务器能接入多少用户?

如何将海量的登陆用户平均负载到接入服务器集群?

某台接入服务器过载崩溃时如何平滑转移,避免“多米诺”骨牌效应。


2. 安全认证

登陆认证时如何保障安全?何种加密机制,验证方式?

消息传递时的安全性,加密或不加密?

自动登陆时的验证模式?


3. 消息转发

不同用户可能登陆在不同的服务器上(存在跨IDC机房可能),如何保证即时性和可靠性?

如何定位用户的登陆位置进行转发?

每条消息的大小限制多少?


4. 离线消息

离线消息是否100%可靠?

每个用户允许多大的离线消息存储?

离线消息是否有过期时间?如何管理?


5. 状态广播

上线、下线、离开、用户自定义等多种状态消息向好友的转播,可能形成的广播洪流拥塞网络如何解决?


6. 多点登陆

如何支持用户多点登陆(PC、手机、PAD同时登陆)?

多点登陆的情况下消息如何转发,状态如何通知?


7. 关系管理

海量用户关系如何管理?

允许每个用户关联多少好友?(关联的数目越多关系数据网越复杂,对消息和状态通知带来更大压力)

好友关系的版本管理机制如何设计?(方便和本地客户端对比,减少网络传输流量,进行差异更新)


8. 多媒体通信

复杂网络环境下的语音、视频如何通信,协议协商?


9. 文件传输

传输协议协商机制?

中转传输时的可靠性、并发能力和流量控制?(单台服务器可同时服务于多少用户的中转传输?)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值