初步聊聊消息系统

栏目: 后端 · 发布时间: 6年前

移动互联网时代,消息系统、推送消息是系统必不可少的一部分,无论是促销信息的推动,还是朋友圈有人点赞评论之后推送,亦或者公众号留言被选为精选都会发送消息。可以说消息已经是移动互联网很重要一部分。

初步聊聊消息系统

消息从发送方式看可以分为两种,一种是系统发送消息,比如JD app发送促销消息,由系统发送系统圈定一部分用户进行发送。消息推荐系统,这篇文章对系统发送促销消息个性化推荐做了相应介绍。

另外一种消息系统是用户发送消息给用户,典型应用是即时通讯工具。用户发送消息给用户,这种场景下发送方也是用户。

消息推送从业务场景很清晰,发送文字、图片或视频等内容从A到B,实际情况中存在一个点是,app有在线和离线情况,在线采取一种策略发送消息,离线采用一种策略发送消息。

在线进行消息推送一般采用长链接方式,通过长链接将消息进行发送。离线方式app不再已经推出,无法通过在线长链接方式进行发送,需要采取其他方式进行发送。

离线消息是一种重要消息类型,因为当用户不在线时app退出时,在线长链接方式无法用,这时就需要离线的消息架构,离线需要考虑对于消息存储,或者通过离线消息通道将消息发送给app,离线消息苹果和谷歌都给出相应方案,核心理念是将消息通过苹果谷歌消息通道发送到手机由手机转发给app,这两种方式时离线消息常用发送方式。

消息架构还有一个点就是消息发送速率,比如微信用户发送消息是通过中间消息队列进行转发,而不是采取早些时候qq 基于udp点对点消息发送方式,这样架构方式简化了对于应对各种NAT网络穿透啊等等问题,但也需要面对新的问题就是消息转发要高效,以及要不丢失。

消息系统还面临一个挑战就是架构本身要满足业务需求扩展,比如消息本身协议设计要支持扩展,比如需要已送达、已阅读、撤回等各种个样需求。协议本身要能支持,整个系统架构不需要推翻重做。

消息系统在有就是安全性,对于即时通讯工具,通讯数据需要被加密,不能被轻易破解,以及账号安全性,是通讯 工具 要面临挺大一个问题,因为哪个用户也不想自己用的好好被别人盗去。

消息系统还有就是当消息变大极大量的时候,需要能够系统动态扩容,动态去增加处理消息能力,而不是消息丢失、以及消息延时,这都是严重影响用户体验的。

消息系统本身说起来很简单,就是内容从A发送到B,但真的做到,不卡、不慢、不丢、安全、稳定并且能够稳定支持各种在线离线,以及保证速率并且能够支持各种业务扩展就相对难度大了很多很多。


以上所述就是小编给大家介绍的《初步聊聊消息系统》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

计算机程序设计艺术

计算机程序设计艺术

Donald E.Knuth / 黄林鹏 / 机械工业出版社 / 2010-8 / 69.00元

《计算机程序设计艺术(第4卷·第0册):组合算法与布尔函数概论(双语版)》是《计算机程序设计艺术,第4卷:组合算法》的第0册。《计算机程序设计艺术(第4卷·第0册):组合算法与布尔函数概论(双语版)》介绍了组合搜索历史和演化,涉及组合搜索技术的理论和实践应用,探究了布尔函数相关的所有重要问题,考察了如何最有效地计算一个布尔函数的值的技术。本册是《计算机程序设计艺术的》第7章,即组合搜索一长篇宏论的......一起来看看 《计算机程序设计艺术》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具