MQ消息中间件通用框架研究及设计开发

来源 :科技与生活 | 被引量 : 0次 | 上传用户:gongzheyy86
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  现代很多遗留传统系统使用CORBA、DCOM、RMI等RPC中间件技术进行数据集成和系统整合,此种架构具有如下的局限性:①同步通信;②生命周期紧密耦合;③点对点通信;④复杂度高N*(N-1)/2;⑤开发维护成本高。
  因此随着业务的发展,业务系统也越来越复杂,面临着各种各样的数据集成和系统整合。系统之间的交互日趋复杂,所以迫切需要推出消息中间件来降低业务系统和功能模块相互交互的复杂度,降低业务系统和功能模块间的耦合,为业务系统和功能模块之间的交互提供统一的、健壮的、可扩展的、可靠的、高可用的底层传输服务。
  消息中间件就是应运松偶合的概念而产生的,主要以队列和发布订阅为消息传输机制,以异步的方式将消息可靠的传输到消费端的一种基础产品。
  MQ(Message Queue)消息中间件作为一个基础传输中间件已经问世好多年的历史了,他主要应用于分布式系统中,在分布式系统中,存在着许多异构环境、不同的开发语言和不同的传输协议,所以要实现这些系统之间的通信是一个相当复杂的工程。消息中间件就是为了解决这些问题,把这些问题从应用中分离出来,形成一个专门的底层系统软件,使分布式环境对我们应用开发人员来说是透明的。
  消息中间件在整个软件应用集成系统中可以具有如下的优点:①异步通信;②生命周期松耦合;③复杂性低N;④开发维护成本低;⑤可提供可靠的传输。这个特点可以说是消息中间件的立足之本,对于应用来说,只要成功把数据提交给消息中间件,那么关于数据可靠传输的问题就由消息中间件来负责;⑥可实现不重复传输。也就是断点续传功能,特别适合网络不稳定的环境,节约网络资源;⑦消息驱动。收到消息后主动通知消息接收方;⑧支持事务。应用程序可以把一些数据更新组合成一个工作单元,这些更新通常是逻辑相关的,为了保障数据完整性, 所有的更新必须同时成功或者同时失败(撤消)。
  1 Active MQ
  我们给予的消息基于Apache的ActiveMQ提供消息服务,ActiveMQ外界一致认为是最成熟最稳定的开源MQ产品,其性能不亚于SonicMQ等商业产品。目前版本是5.3.0,在下一个版本中将加入AIO,性能将会得到再次提升。
  MQ通用框应用于下列场景更具优越性:①耗时操作:邮件发送/短消息发送;②系统解耦:系统A与系统B存在交互,如果A挂了,但B可以继续使用;③日志。
  2 程序开发结构
  在功能上将实现如下功能点:①客户端SDK(软件开发包)在Queue以及Topic模式下发送消息;②消息接受方支持主动轮询以及消息驱动;③消息队列管理后台可以创建、删除、更新Queue和Topic;④支持内存以及文件存储消息。
  3 支持消息分发机制JAVA CLIENT API
  JAVA Client API以JAR的方式提供给应用程序使用:
  1)收发消息。引用mq.jar、mq-jms.jar、mq-jms.jar。客户端是通过接口MQService来进行收发消息的,有两种途径获取MQService的实例:①通过MQServiceCreator类的静态方法getMQService();②通过spring配置文件获取。获取MQService的实例后,直接调用该接口的sendMessage和receiveMessage方法即可。目前,通过 MQServiceCreator类创建的MQService实例仅仅支持本地事务,如果需要使用JTA的事务,请通过修改spring的配置,使用 XAPooledConnectionFactory连接池来支持JTA事务。
  2)监听消息(MDP)。①继承AbstractMessageHandler,创建一个消息处理器,实现handlerMessage方法处理消息;②通过Spring配置或直接创建消息监听器。
  3)消息驱动Bean(MDB)。①继承BaseMDBBean创建MDB,类为空即可;②继承AbstractMessageHandler,创建一个消息处理器,实现handlerMessage方法处理消息;③通过Spring配置消息处理器;④MDB的classpath下必须包含一个名为beanFactory.xml的spring配置文件,在该spring配置文件中import该MDB所有需要加载的spring配置文件。
  4)JMS实现Request-Response。通过Spring的基于JMS的远程服务暴露的方式,很容易实现JMS的同步访问,具体步骤如下:①创建服务接口;②客户端通过JmsInvokerProxyFactoryBean创建访问服务的Proxy;③服务端实现服务接口;④服务端通过JmsInvokerServiceExporter暴露服务;⑤此部署模型可根据不同业务系统的要求,制定部署模型;⑥同时实现了负载均衡机制,用以保障性能;⑦同时实现了Master-Slave集群机制保障,可靠性得以保障。
  4 MQ通用框架性能
  在消息持久化情况下:①在Queue模式,1K消息大小,单个MQ实例吞吐量达到1000/s;②在Topic模式,1K消息大小,单个MQ实例吞吐量达到2000/s。
其他文献
社会思潮是一种流行性的社会意识现象,是一种以时代为背景、以社会为场所、以群体为主体的社会意识的运动形式。每一种社会思潮,都是一定社会环境中人们共同的思想潮流和心理倾向。不同社会思潮的并存、继起、冲撞、融汇和消长,构成一定时期社会意识变动的宏观图景。追寻社会思潮的生命历程,考察其发生、发展和消退的基本过程及其特点,对于分析社会思潮现象,把握社会意识的运动及其规律,具有重要的意义。
碳化铬-碳化钨涂层属于碳化物类耐磨涂层,最高使用温度可达700℃。超音速火焰喷涂技术已广泛应用在碳化物类耐磨涂层的制备中。本文通过超音速火焰喷涂制备碳化铬-碳化钨涂层
【正】 《养生主》是《庄子》内篇中仅次于《逍遥游》、《齐物论》的名篇,然而古今《庄》学家们对于此篇的研究却显然远不够深入,甚至还存在不少的错误。本文意在从四个方面
为探索燃煤电厂与土壤金属研究的发展趋势,基于1982-2019年CNKI知网数据库,本文使用VOSviewer、Citespace软件进行了文献的时间、地区和机构研究分布、高影响力论文、主题变
现代企业所有权和控制权的分离,使得古典意义的企业家职能发生了分解,产生了职业化的管理人员,本文称为高管人员。而高管人员和企业所有者的目标和利益不一致,以及他们之间的信息不对称,导致了委托代理问题和高管人员激励约束问题的产生。地方政府的管理效率,对一个地区的投资环境有较大的影响,良好的投资环境和高效的政府运作效率,必然能更好的促进公司的发展,从而提高公司的绩效。  1 研究假设  假设1.1:在控制
《生物工艺中一次性使用系统生产技术规范》团体标准于2021年1月25日、2月10日分别在全国团体标准信息平台及上海市场监督管理局标准化平台正式发布。该团体标准由上海药品审
本文回顾了从笛卡尔到黑格尔欧洲近代哲学史上“理性”概念的演变,揭示了“理性”不是一个抽象、笼统的概念,不同哲学家对此均有不同见解,持有巨大歧义。在此基础上,作者对欧
1临床资料患儿,男,胎龄38周自然分娩,出生体重2600g,羊水、胎盘、脐带无异常。阿氏评分9~10分。生后3小时后因“全身皮肤干燥、皲裂”于2007年3月14日由外院转入。患儿有一胞姐,7岁
目的:研究健康教育干预在阴道炎护理中的临床意义。方法:选取本院2015年1月至2016年10月收治的130例阴道炎患者作为研究对象,采用病例随机抽取的方式将所有阴道炎患者分为对
目的探讨联合检测卵巢肿瘤患者血清癌相关糖链抗原125(简称CA125)和癌相关糖链抗原19-9(简称CA19-9)的含量在临床诊断中的价值。方法用化学发光法检测卵巢癌患者53例、卵巢良性肿