微信为啥不丢 “离线消息”?
需求缘起
当发送方用户 A 发送消息给接收方用户 B 时, 如果用户 B 在线 ,之前的文章《 微信为啥不丢“在线消息”? 》聊过,可以通过 应用层的确认,发送方的超时重传,接收方的去重保证业务层面消息的不丢不重 。
那如果接收方用户 B 不在线 ,系统是如何保证消息的可达性的呢?这是本文要讨论的问题。…
记录-交流-Web开发知识分享
当发送方用户 A 发送消息给接收方用户 B 时, 如果用户 B 在线 ,之前的文章《 微信为啥不丢“在线消息”? 》聊过,可以通过 应用层的确认,发送方的超时重传,接收方的去重保证业务层面消息的不丢不重 。
那如果接收方用户 B 不在线 ,系统是如何保证消息的可达性的呢?这是本文要讨论的问题。…
http如何像tcp一样实时的收消息?
一、webim如何实现消息推送
webim通常有三种方式实现推送通道:
1)WebSocket
2)FlashSocket
3)http轮询
其中1)和2)是用Tcp长连接实现的,其消息的实时性可以通过tcp保证。
方案3)才算是webim实现消息推送的“正统”方案,用http短连接轮询的方式实现“伪长连接”,既然是轮询,有朋友就对消息的实时性产生了质疑。本文要解答,webim使用http长轮询如何保证消息的绝对实时性。…
【编者按】此文是根据魅族架构师于小波在msup和魅族联合举办的#魅族技术开放日#的演讲中的分享内容整理而成,于小波分享了魅族实时消息推送架构的其中遇到的坑和一些心得体会。
这个系统数据情况是这样的,实时在线的用户是2500万左右,下面有一个趋势图,从今年1到10月份的都列出来了,这个系统一天PV量是50亿左右,这个系统推送速度可以达到600万条/分钟。…
2016Qcon北京,业务核心架构场,《58到家通用实时消息平台架构细节》。…
消息系统的作用:异步处理、削减峰值、减少组件之间的耦合。
选择消息系统根据业务需要需要考虑以下几个方面:…
Notify是淘宝自主研发的一套消息服务引擎,是支撑双11最为核心的系统之一,在淘宝和支付宝的核心交易场景中都有大量使用。消息系统的核心作用就是三点:解耦,异步和并行。下面让我以一个实际的例子来说明一下解耦异步和并行分别所代表的具体意义吧:
假设我们有这么一个应用场景,为了完成一个用户注册淘宝的操作,可能需要将用户信息写入到用户库中,然后通知给红包中心给用户发新手红包,然后还需要通知支付宝给用户准备对应的支付宝账号,进行合法性验证,告知sns系统给用户导入新的用户等10步操作。
那么针对这个场景,一个最简单的设计方法就是串行的执行整个流程,如图3-1所示:
近期评论