本文主要是介绍IM即时通讯架构技术:可靠性、有序性、弱网优化等,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
消息的可靠性是IM系统的典型技术指标,对于用户来说,消息能不能被可靠送达(不丢消息),是使用这套IM的信任前提。
换句话说,如果这套IM系统不能保证不丢消息,那相当于发送的每一条消息都有被丢失的概率,对于用户而言,一定会不会“放心”地使用它,即“不信任”这套IM。
从产品经理的角度来说,有这样的技术障碍存在,再怎么费力的推广,最终用户都会很快流失。所以一套IM如果不能保证消息的可靠性,那问题是很严重的。
消息可靠性主要依赖2个逻辑来保障:
1)上行消息可靠性;2)下行消息可靠性。
1)针对上行消息的可靠性,可以这样的思路来处理:
用户发送一个消息(假设协议叫PIMSendReq),用户要给这个消息设定一个本地ID,然后等待服务器操作完成给发送者一个PIMSendAck(本地ID一致),告诉用户发送成功了。即时通讯聊天软件app开发可以加小蓝豆的v:weikeyun24咨询
如果等待一段时间,没收到这个ACK,说明用户发送不成功,客户端SDK要做重试操作。
2)针对下行消息的可靠性,可以这样的思路来处理:
服务收到了用户A的消息,要把这个消息推送给B、C、D 3个人。假设B临时掉线了,那么在线推送很可能会失败。
因此确保下行可靠性的
这篇关于IM即时通讯架构技术:可靠性、有序性、弱网优化等的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!