消息队列设计说明书.doc

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
消息队列设计说明书

消息队列概要设计书 目 录 3 概要设计 3 3.1 总体设计方案 3 3.1.1 功能模型设计 3 3.1.2 体系结构设计 3 3.1.3 关键技术及解决方案 6 3.2 概要设计 10 3.2.1 子模块描述 10 3.2.2 关键过程描述 13 3.2.3 并发设计 21 3.2.4 可靠性设计 22 3.2.5 安全设计 22 3.2.6 出错处理 23 3.2.7 日志设计 29 3 概要设计 3.1 总体设计方案 3.1.1 功能模型设计 图3.1 JTangMQ功能模型 图3.1是JTangMQ的功能模型图。这是从用户的角度来看JTangMQServer。 3.1.2 体系结构设计 图3.2 功能划分图 图3.2描述的是JTangMQ的功能划分图。其中,包括两种JMS管理对象(administered objects):ConnectionFactory和Destination.。管理对象由管理员(administrator)放置在一个JNDI名字空间中。JMS客户通过lookup得到这两个管理对象后,再与JMS Provider建立逻辑连接。JMS Provider即是通常意义上的消息服务器。 图3.3 总体体系结构图 图3.3描述的是JTangMQ的总体体系结构,由客户端,通讯层和服务器组成。客户端是JMS API的实现。通讯层是连接客户端和服务器的,连接的协议有SBP(Selector based protocol),http,IntraVM(在同一个虚拟机内部)等。在服务器端,主要由三部分组成,第一部分是AOP/Interceptor,该部分的实现了拦截器的功能;第二部分为目的地管理器(DestinationManager)、客户管理(ClientManager)和目的地(Destination)。这一部分是基本的服务器实现。第三部分是服务器端的关键共用服务,包括Messge Cache,Persisten Manager, ASF(Application server facilities)等等,这部分扩展了基本服务器的功能。 图3.4 客户端体系结构图 图3.4 描述的是JTangMQ客户端的体系结构图。在客户端,JMS主要对象有:连接工厂,连接,会话,消息生产者,消息消费者和消息。他们的主要关系是:首先由连接工厂创建连接,在此过程中,连接工厂代理创建连接代理。由连接创建会话,在此过程中,连接代理创建会话代理。由会话创建消息生产者和消费者,在此过程中,会话代理创建消息生产者代理和消息消费者代理。然后由会话创建消息。所创建的消息由生产者发送到目的地(实际通过生产者代理发送),消息消费者从目的地接收(实际通过消息消费者代理接收)。 图3.5 通讯层体系结构图 图3.5 描述的是JTangMQ通讯层的体系结构图。这个图代表通讯层的所有通讯协议所遵循的结构。图中序号代表了通讯层启动时的操作。 图3.7 集群体系结构图(6) 图3.7描述的集群的体系结构图。JTangMQ的集群是基于JGoups实现的。每个JTangMQ的消息服务器(即JTangMQ Provider)都有一个对象ClusterMemberShip,这个对象是某个group内的成员。消息服务器之间通讯就由ClusterMemberShip来负责。 3.1.3 关键技术及解决方案 子模块 关键技术 解决方案 客户端 客户端解耦 见 服务器端 Hierarchical Topic Space 见 Clustering 见 安全 见 事务 见 消息缓存 见 持久化 见 通讯层 SBP通讯协议实现 见 客户端解耦 将客户端主要对象的主要功能由对应的delegate来完成,当主要对象的成员函数被调用时,它又调用delegate的成员函数来完成实际工作。 Hierarchical Topic Space 在JTangMQ中Topics以树状结构呈现,消息订阅者可以向单个topic节点订阅消息,也可以向包含topic本身的整个子树订阅消息。 JTangMQ使用通配符”#”实现对hierarchical topic的支持。”#”匹配零级或多级目录结构。消息订阅者可以使用包含”#”的正则表达式向topic订阅消息。如: jms/des/topic/# 匹配 jms/des/topic jms/des/topic/topic1 jms/des/topic/test/testTopic jms/des/topic /… JTangMQ中hierarchical topic space实现的具体方式为(以下是一个例子): 当管理员创建一个Topic Destination时,记对应的jnd

文档评论(0)

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

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

1亿VIP精品文档

相关文档