1 / 10
文档名称:

消息推送机制技术设计.doc

格式:doc   大小:292KB   页数:10页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

消息推送机制技术设计.doc

上传人:小s 2022/6/4 文件大小:292 KB

下载得到文件列表

消息推送机制技术设计.doc

文档介绍

文档介绍:消息推送技术
消息推送技术
消息推送
Web层消息推送
套接字
HTTP请求轮询
简单轮询长轮询
HTTP流
HTML5WebSocket
多客户端支持
APIs多样
网络连接不稳定最小化流量
服务层消息服务
Ja时
请谀
忌謂时外
年息服釦卜斯、
HTML5WebSocket
这是标准化的客户端全双工通讯规范,但由于目前服务端规范尚未成型,且考虑到现有客户端对HTML5的支持有限,这里不进行描述。
多客户端支持
上述介绍是针对浏览器客户端的,在实际应用场景中,还需要考虑其他客户端支持,例如DS、Android等。
在移动客户端方面,需要考虑如下几点。
APIs多样
不同客户端本地APIs接口存在差异,但都支持基本的HTTP协议。直接基于HTTP协议进行开发可将差异最小化。
网络连接不稳定
通讯信道打开后不一定能长时间维护,客户端与服务端的状态管理复杂。
最小化流量
需要尽量最小化网络流量,提升移动客户端可用性。
服务层消息服务
消息是系统或组件间通讯的一种低耦合方式,是系统级异步架构的基础。
在Web消息推送中,服务端管理应用状态,当状态发生变迁时需要通知客户端,完成消息推送。
JavaMessageService
需要重点关注如下技术点:
消息域
点对点
Consum&s
:]Client2
Qu-eiie
Sends
只有一个客户端可以接收到消息。
发布/订阅
Publishes
Client1
Sub河曲员「-Delivers―►
Subscribes一Deliv&rs—►
广播给订阅的客户端。可配置持久化订阅。
Client3
Client2
消息确认
会话本地事务提交时会对收到的消息进行确认,回滚时将重传所有消息
非本地事务确认:

技术设计
目标
支持浏览器客户端的推送
咼性能、咼可靠
模块化,不与应用耦合
未来可支持多种移动客户端
Web层设计
Web层考虑采用开源组件Pushlets进行实现。
Pushlets组件
Pushlets基于HTTP协议的发布/订阅模型,提供了Poll(轮询)、Pull(拉)两种推方式实现。其中Pull即长轮询方式,当有消息时就返回。
发布:GET/POST或方法调用(Dispatcher接口)订阅:GET流,拉/轮询模式
树形主题:可层次化订阅
协议格式:JS,XML(JSON尚未支持)
对使用HTTP协议的客户端都可用
易扩展:例如事件源实现
方便整合:可独立为Web应用,也可为Web应用组件多种实现:J2EE/servlets,JavaScript(AJAX)
RemotePublisher{HTTP)
Sourc*
RemotePublisher{HTTP)
CiamS&ssi-sne
HTTP
CiamS&ssi-sne
JS客户端
js-pushlet-
使用隐藏iframe技巧
格式:JavaScript函数事件
ajax-pus

最近更新