im消息推送架构(消息推送系统的设计)

莫然
莫然
莫然
44138
文章
0
评论
2021年1月2日18:48:43
评论
37

  推送消息通过苹果和谷歌控制的互联网服务器发送。推送消息从根本上来说是为了与应用程序通信而设计的。他们可以发送文本、多媒体文件和特定于应用程序的数据。那么,消息推送的设计原则和规则是什么呢?

  随着iPhone、安卓手机等超级手机的兴起,现在可以绕过运营商,通过标准的TCP/IP网络直接向这些手机发送消息。这些消息被称为推送消息。

  推送消息通过苹果和谷歌控制的互联网服务器发送。推送消息从根本上来说是为了与应用程序通信而设计的。它们可以发送文本、多媒体文件和特定于应用程序的数据,例如警告声音和显示在应用程序图标上的标记。

  推送通知非常适合智能手机应用,但与基于运营商的移动消息相比,普及性和可靠性较差。

  消息推送的分类和方法等。如下图所示:

  (1)消息提醒的过程

  输入消息>输入消息仓库>发送消息>消息流>消息详细信息

  (2)发送消息的时间

  通常上午9: 00 -10: 00。

  中午12:00-14:00

  下午5时至6时

  晚上21: 00 -22: 00

  (3)消息推送的类型

  优惠券到期通知

  客服即时消息

  彩票商品到期通知

  托收降价通知

  抽奖机会提醒

  订单交付提醒

  订单退回提醒

  购物车产品到期通知

  集团到期通知

  重大事件通知

  (4)消息推送规则

  移动终端获取消息通知的方式主要有两种:拉和推,下面简单介绍一下。

  拉模式:

  拉模式称为“拉模式”。在这种模式下,当手机上的应用程序启动后,经过一段时间后,它会定期与应用程序的服务器连接,以获取服务器需要发送给终端的消息。因为这里终端主动从服务器获取消息,所以叫拉模式。这样,服务器的实现简单,只需要在终端连接后发送要发送给终端的消息,但是这种方法有以下缺点:

  每个应用终端都需要建立一个到自己服务器的socket连接,而移动终端需要维护多个socket连接,这样会消耗更多的电量,也不容易管理。

  在拉模式下,应用程序启动时会从应用服务器拉消息;启动后,应用程序将定期与服务器连接,以检查是否有任何要提取的消息。这种方式不是实时的,服务器不能把消息传递给终端,直到终端主动拉过来。如果应用程序频繁检查是否需要拉消息,功耗会增加,如果检查周期过长,会影响消息的实时性能。

  综上所述,使用pull传输通知消息不是一个好方法。

  推送模式:

  在推送模式下,移动终端只需要保持与推送服务器的长连接。这样,移动终端用于推送的套接字连接数量与需要推送服务的应用数量无关,只需要维持一个终端与推送服务器之间的长连接即可。所有应用服务器都直接连接到推送服务器,并通过推送服务器向终端推送消息。终端只连接推送服务器获取推送通知消息。

  通过长连接,推送服务器可以在消息到达时立即将消息推送至连接的终端,实时性相对较高。

  在该图中,推送应用1、2和3是推送应用的服务器,负责将待推送的消息放入推送系统。这些应用服务器通过负载平衡服务器连接到特定的推送服务器。

  服务器是Socket.io的一个集群,用于客户端(Web,mobile)连接。集群后面是Redis服务器,存储集群中每个节点连接的客户端ID(我们称之为集群)。同时,一个队列被分配给Redis中的每个集群,以存储推送到该集群的消息。

  当从一个客户端发送消息时,连接的集群从Redis获取该消息的目标客户端ID(因为我们同时支持一对一的私聊和群聊,所以一条消息可能会推送到多个客户端),然后将该消息推送到每个集群的消息队列中。

  每个集群将在阻塞模式下读取其相应的消息队列,一旦发现消息,它将获取并检查其目标客户端标识是否连接到该集群。如果是,就通过Socket.io发送,如果不是,就丢弃。然后继续阻止读取,直到下一条消息到达。

  其实大致来说,即时通讯——消息推送只是一种实现。例如,您可以使用第三方产品轻松实现点对点甚至一点对多的消息传递。

  但是用户需求很个性化,比如:我要监控用户的聊天内容,涉及敏感关键词,防止消息被推出,或者我要给开通会员的用户“区分身份”。

  与免费用户相比,聊天记录可以在云中保存更长时间,或者可以添加的好友和群组数量更多或者没有上限。这时候对定制的要求就很高了。毕竟数据是宝贵的。此时,我们需要开发自己的服务,这些服务不能被第三方所依赖。

  来源:莫然,欢迎分享这篇文章!莫然

莫然
知己是什么意思(什么是真正的知己?) 心情随笔

知己是什么意思(什么是真正的知己?)

  真正的知己,是不管发生了什么事情,都陪着你,不因人生遇到低谷而离开。   真正的知己,无关风月,不是夫妻,胜似夫妻;不是亲人,犹如亲人。   真正的知己,似乎是另一个自己,彼此心有灵犀,总是给你最...
匿名

发表评论

匿名网友 填写信息