基于JMS2.0规范的消息总线研究与应用
发布时间:2020-05-29 07:45
【摘要】:随着信息技术的快速发展,各行业开发建设了大量信息系统。很多系统是在不同需求阶段采用不同技术实现的,运行在异构的平台上,形成很多信息孤岛。这使得企业内系统间发生数据交互时存在一定的难度,有时还需要专门开发相应的交互模块。为了使企业内部的数据能够集成和共享,本文采用消息总线这种中间件技术,来屏蔽各应用在技术实现和运行环境方面的异构性,实现数据共享。在对面向消息的中间件(MOM)技术进行充分研究的基础上,本文以较新的Java消息服务(JMS)2.0版本规范展开消息总线的研究工作。JMS2.0规范主要定义了一款消息服务应具有的公共接口、管理对象和消息传递模型等公共特性。论文以具体项目运行现状为出发点,较全面地分析了消息总线的功能和性能需求,整合当前主流且高性能的Kafka消息服务进行了二次开发,完成了消息总线的概要设计、消息存储、详细设计和实现、测试等工作。在论文工作过程中,着重研究消息传递的路由机制,以基于内容的路由方式结合图搜索算法设计了消息路由;并封装Kafka的API实现了两种消息传递模型。另一方面是以Kafka消息服务为基础,设计了消息总线服务在负载均衡、流量管理方面的高可用性,使总线服务保持稳定性和可靠性。最后,根据个人参与开发的电能质量数据监测分析系统中的数据接口运行现状,将本文实现的消息总线应用到项目,替代项目中目前存在的复杂多样的数据交互方案。在消息总线的应用研究过程中,完成了消息总线服务的功能和性能的测试,证明总线是可用的。
【图文】:
逦j逡逑图2-1】MS经典API结构逡逑图2-1中各个类的功能见表2-1。逡逑逦表2-1经典API中各类的功能逦逡逑ConnectionFactory逦创建客户端连接到服务端的管理对象逡逑Connection逦创建客户端到总线服务端之间的对话迮接逡逑Session逦客户端消息请求的单线程上下文逡逑MessageProducer逦创建生产者对象,发送消息到服务端队列成主题逡逑MessageConsumer逦创建消费者对象,向服务端请求消息逡逑2.0版本中简化API在功能上和经典API是相似的,但更具易用性。简化API逡逑中主要包含三部分:JMSContext、JMSProducer邋和邋JMSConsumer,结构如图邋2-2[22]逡逑所示。逡逑7逡逑
逑图2-2邋JMS简化API结构逡逑图2-2中各个类的主要功能见表2-2。逡逑逦表2-2邋JMS2.邋0规范中主耍API逦逡逑类名逦主耍功能逡逑JMSContext逦一个JMSContext对象可以封装原来Connection和Session邋两个逡逑对象的行为,减少发送和接收消息耍创建的对象数。逡逑JMSProducer逦代替MessageProducer,可以使)4j构建者模式配置消息属性,逡逑易阳性更强。逡逑JMSConsumer逦代代替邋MessageConsumer逡逑2.0规范的API在使用时省去了部分参数,保持和经典API相似的使用风格和逡逑完全一致的功能特性,为保证向后的兼容性经典API依然被保留。逡逑2.3JMS消息模型逡逑JMS消息模型主要包括消息和消息传递。消息可以被视为一个实体,,它拥有自逡逑己的数据结构和属性;而消息传递模型是消息总线区别于其他类型中间件的特征。逡逑2.邋3.邋1邋JMS邋消息逡逑JMS消息主要是为提供统一的消息API而设计,可以提供统一的消息格式,逡逑如XML格式的消息。逡逑JMS规范定义由消息头、消息属性、消息体三部分构成消息[22】。逡逑(1)
【学位授予单位】:华北电力大学(北京)
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:TP311.52
本文编号:2686626
【图文】:
逦j逡逑图2-1】MS经典API结构逡逑图2-1中各个类的功能见表2-1。逡逑逦表2-1经典API中各类的功能逦逡逑ConnectionFactory逦创建客户端连接到服务端的管理对象逡逑Connection逦创建客户端到总线服务端之间的对话迮接逡逑Session逦客户端消息请求的单线程上下文逡逑MessageProducer逦创建生产者对象,发送消息到服务端队列成主题逡逑MessageConsumer逦创建消费者对象,向服务端请求消息逡逑2.0版本中简化API在功能上和经典API是相似的,但更具易用性。简化API逡逑中主要包含三部分:JMSContext、JMSProducer邋和邋JMSConsumer,结构如图邋2-2[22]逡逑所示。逡逑7逡逑
逑图2-2邋JMS简化API结构逡逑图2-2中各个类的主要功能见表2-2。逡逑逦表2-2邋JMS2.邋0规范中主耍API逦逡逑类名逦主耍功能逡逑JMSContext逦一个JMSContext对象可以封装原来Connection和Session邋两个逡逑对象的行为,减少发送和接收消息耍创建的对象数。逡逑JMSProducer逦代替MessageProducer,可以使)4j构建者模式配置消息属性,逡逑易阳性更强。逡逑JMSConsumer逦代代替邋MessageConsumer逡逑2.0规范的API在使用时省去了部分参数,保持和经典API相似的使用风格和逡逑完全一致的功能特性,为保证向后的兼容性经典API依然被保留。逡逑2.3JMS消息模型逡逑JMS消息模型主要包括消息和消息传递。消息可以被视为一个实体,,它拥有自逡逑己的数据结构和属性;而消息传递模型是消息总线区别于其他类型中间件的特征。逡逑2.邋3.邋1邋JMS邋消息逡逑JMS消息主要是为提供统一的消息API而设计,可以提供统一的消息格式,逡逑如XML格式的消息。逡逑JMS规范定义由消息头、消息属性、消息体三部分构成消息[22】。逡逑(1)
【学位授予单位】:华北电力大学(北京)
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:TP311.52
【参考文献】
中国期刊全文数据库 前7条
1 叶晨;支海邦;;物联网中一种基于内容的消息路由算法[J];小型微型计算机系统;2015年09期
2 王新伟;;异步消息处理机制在总分数据传输应用中的研究[J];电子技术与软件工程;2015年09期
3 李艳春;李新;焦文彬;;分布式信息系统中数据交换平台设计与实现[J];计算机工程与设计;2012年07期
4 孙琳;王春喜;;支持中小企业应用集成的JMS消息中间件设计[J];电脑知识与技术;2012年19期
5 胡志辉;牛德雄;许国庆;;消息队列管理在信息交换中的研究[J];计算机与现代化;2009年01期
6 薛涛;冯博琴;李波;董剑;;基于内容的发布订阅系统中快速匹配算法的研究[J];小型微型计算机系统;2006年03期
7 徐晶,许炜;消息中间件综述[J];计算机工程;2005年16期
本文编号:2686626
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/2686626.html