webim如何保证消息的可靠投递

初商 2019-08-12

阿里云MVP

《webim如何保证消息的可靠投递》

上一章和大家分享了webim消息的实时性问题(回复【轮询】阅读《webim如何用轮询保证消息绝对实时》)。

消息的可靠性,即消息的不丢失和不重复,也是im系统中的一个难点。当初qq在技术上(当时叫oicq)因为以下两点原因才打败了icq:
1)qq的消息投递可靠(消息不丢失,不重复)
2)qq的垃圾消息少(它antispam做得好,这也是一个难点,但不是本文重点讨论的内容)
今天,本文将用十分通俗的语言,来讲述webim系统中消息可靠性的问题。

一、报文类型

im的客户端与服务器通过发送报文(也就是网络包)来完成消息的传递,报文分为三种

请求报文(request,后简称为为R)

应答报文(acknowledge,后简称为A)

通知报文(notify,后简称为N),这三种报文的解释如下:
image.png

R:客户端主动发送给服务器的

登录 后评论
下一篇
云攻略小攻
1887人浏览
2019-10-11
相关推荐
消息队列设计精要
896人浏览
2017-12-31 17:05:00
RabbitMQ实战(三)-高级特性
1296人浏览
2019-07-01 10:41:27
RabbitMQ 可靠投递
1051人浏览
2018-07-28 12:03:20
0
0
0
211