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

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
消息推送技术 消息推送技术 消息推送 Web层消息推送 套接字 HTTP请求轮询 简单轮询 长轮询 HTTP 流 HTML 5 WebSocket 多客户端支持 APIs多样 网络连接不稳定 最小化流量 服务层消息服务 Java Message Service 消息域 消息确认 技术设计 目标 Web层设计 Pushlets 组件 JS客户端 服务层设计 处理步骤 消息表 逻辑架构 推时序 关键点 消息推送 消息推送是针对Web应用开发领域的技术,指服务端以主动方式将信息送达客户端。主要用于 提升用户体验,避免用户刷新页面从服务端拉取数据。例如 Web邮件中自动出现刚收到的邮件 项,Web即时通讯自动提示新到消息等应用场景。 要实现消息推送机制,涉及两方面的内容: ? Web层消息推送 ?服务层消息服务 Web层消息推送 套接字 可以使用套接字接口进行全双工通讯。可以通过 Flash XMLSocket、Java Applet技术实现。 但由于实现方案与厂商技术绑定过紧,不属于 Web标准化范畴,并且存在一些限制(通讯端口 开启安全、客户端插件),这里不进行描述。 HTTP请求轮询 -响应的处理模型,位于应用层的单工通讯HTTP请求轮询,服务端在请求后返回响目前的Web应用是基于 -响应的处理模型,位于应用层的单工通讯 HTTP请求轮询,服务端在请求后返回响 为了基于HTTP协议进行推送”实现,可由客户端发起 应。 根据轮询时间、请求处理方式,分为以下三种推。 简单轮询 客户端一般以定时方式发起请求,服务端处理后返回响应 ?原理、客户端/服务端实现简单 ?可根据应用场景调整轮询时间间隔 ?服务端需要处理大量请求 甩 1.1: ftlK? 定时进行轮i旬,时丽0 河隔可配社 I 长轮询 客户端发起请求后服务端将该请求挂起(不返回响应),直到超时、异常或需要处理响应(推内 容)才返回。客户端收到响应后再次请求(即轮询)服务端,并处理响应。 ?实时性高 ?服务端需要管理挂起请求 请求引眼HTTP 流客户端发起请求后服务器端处理请求,并通过 HTTP流一直向客户端写入数据,直到超时或异常 才返回响应。连接断开后客户端再次请求服务端,属于长轮询的一种。1.1:挣屉谓朮谓求-4:返网直敦憎1,1: t*起请我 I— 请求引眼 HTTP 流 客户端发起请求后服务器端处理请求,并通过 HTTP流一直向客户端写入数据,直到超时或异常 才返回响应。连接断开后客户端再次请求服务端,属于长轮询的一种。 1.1:挣屉谓朮 谓求 -4:返网直敦憎 1,1: t*起请我 I —kh 5: tfi时处珅 返冋响应 馬立即开 始厂嗽 轮询请戕 4乍| 2 消息肥务监听\ 2.处理状盡变更 获取Z前样咆的谪我 超时石也 即开始下 :\V -U 请求 4.1:珪融时 J 珅択憲哽也 3:获观上前择起豹增班 HTML 5 WebSocket 这是标准化的客户端全 双工通讯规范,但由于目前服务端规范尚未成型,且考虑到现有客户端对 HTML 5的支持有限,这里不进行描述。 多客户端支持 上述介绍是针对浏览器客户端的,在实际应用场景中,还需要考虑其他客户端支持,例如 iOS、 An droid 等。 在移动客户端方面,需要考虑如下几点。 APIs多样 不同客户端本地 APIs接口存在差异,但都支持基本的 HTTP协议。直接基于 HTTP协议进行开 发可将差异最小化。 网络连接不稳定 通讯信道打开后不一定能长时间维护,客户端与服务端的状态管理复杂。 最小化流量 需要尽量最小化网络流量,提升移动客户端可用性。 服务层消息服务 消息是系统或组件间通讯的一种低耦合方式,是系统级异步架构的基础。 在Web消息推送中,服务端管理应用状态,当状态发生变迁时需要通知客户端,完成消息推 送。 Java Message Service 需要重点关注如下技术点: 消息域 ?点对点 只有一个客户端可以接收到消息。 Msg Sends Consumes Client 1 — Msg — 一. - Client 2 Queue Acknowledges ?发布/订阅 广播给订阅的客户端。可配置持久化订阅 Publishes―Subscribes Publishes ―Subscribes「 —Delivers Client 2 消息确认 ?会话本地事务提交时会对收到的消息进行确认,回滚时将重传所有消息 ? 非本地事务确认: Sessio nA UTO_ACKNOWLEDGE 、 Session.CLIENT_ACKNOWLEDGE 、Session.DUPS_OK_ACKNOWLEDGE 技术设计 目标 ?支持浏览器客户端的推送 ?高性能、高可靠 ?模块化,不与应用耦合 ?未来可支持多种

文档评论(0)

magui + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8140007116000003

1亿VIP精品文档

相关文档