消息中间件和JMS消息服务

问题描述

前,CORBA、DCOM、RMI等RPC中间件技术已广泛应用于各个领域。但是面对规模和复杂度都越来越高的分布式系统,这些技术也显示出其局限性:(1)同步通信:客户发出调用后,必须等待服务对象完成处理并返回结果后才能继续执行;(2)客户和服务对象的生命周期紧密耦合:客户进程和服务对象进程都必须正常运行;如果由于服务对象崩溃或者网络故障导致客户的请求不可达,客户会接收到异常;(3)点对点通信:客户的一次调用只发送给某个单独的目标对象。面向消息的中间件(MessageOrientedMiddleware,MOM)较好的解决了以上问题。发送者将消息发送给消息服务器,消息服务器将消息存放在若干队列中,在合适的时候再将消息转发给接收者。这种模式下,发送和接收是异步的,发送者无需等待;二者的生命周期未必相同:发送消息的时候接收者不一定运行,接收消息的时候发送者也不一定运行;一对多通信:对于一个消息可以有多个接收者。已有的MOM系统包括IBM的MQSeries、Microsoft的MSMQ和BEA的MessageQ等。由于没有一个通用的标准,这些系统很难实现互操作和无缝连接。JavaMessageService(JMS)是SUN提出的旨在统一各种MOM系统接口的规范,它包含点对点(PointtoPoint,PTP)和发布/订阅(Publish/Subscribe,pub/sub)两种消息模型,提供可靠消息传输、事务和消息过滤等机制。JMSJAVA消息服务(JMS)定义了Java中访问消息中间件的接口。JMS只是接口,并没有给予实现,实现JMS接口的消息中间件称为JMSProvider,iLink实现了JMS接口,用户可以通过使用JMS接口,在iLink中进行JMS编程。iLink支持JMS1.0.2版本。JMS接口描述JMS支持两种消息类型PTP和Pub/Sub,分别称作:PTPDomain和Pub/SubDomain,这两种接口都继承统一的JMS父接口。JMS消息模型JMS消息由以下几部分组成:消息头,属性,消息体。消息的同步异步接收消息的同步接收是指客户端主动去接收消息,JMS客户端可以采用MessageConsumer的receive方法去接收下一个消息。消息的异步接收是指当消息到达时,主动通知客户端。JMS客户端可以通过注册一个实现MessageListener接口的对象到MessageConsumer,这样,每当消息到达时,JMSProvider会调用MessageListener中的onMessage方法。PTP模型PTP(Point-to-Point)模型是基于队列的,发送方发消息到队列,接收方从队列接收消息,队列的存在使得消息的异步传输成为可能。和邮件系统中的邮箱一样,队列可以包含各种消息,JMSProvider提供工具管理队列的创建、删除。JMSPTP模型定义了客户端如何向队列发送消息,从队列接收消息,浏览队列中的消息。PUB/SUB模型JMSPub/Sub模型定义了如何向一个内容节点发布和订阅消息,这些节点被称作主题(topic)。主题可以被认为是消息的传输中介,发布者(publisher)发布消息到主题,订阅者(subscribe)从主题订阅消息。主题使得消息订阅者和消息发布者保持互相独立,不需要接触即可保证消息的传送。开发JMS的步骤广义上说,一个JMS应用是几个JMS客户端交换消息,开发JMS客户端应用由以下几步构成:1、用JNDI得到ConnectionFactory对象;2、用JNDI得到目标队列或主题对象,即Destination对象;3、用ConnectionFactory创建Connection对象;4、用Connection对象创建一个或多个JMSSession;5、用Session和Destination创建MessageProducer和MessageConsumer;6、通知Connection开始传递消息。

解决方案

解决方案二:
很好,很强大

时间: 2024-10-21 14:55:30

消息中间件和JMS消息服务的相关文章

三:JMS消息服务规范

一:JMS是什么?--->JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API--->用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信.--->Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持.---> JMS 使您能够通过消息收发服务(有时称为消息中介程序或路由器)从一个 JMS 客户机向另一个 JMS客户机发送消息.--->JMS(Java

一分钟了解阿里云产品:消息服务

一.             概述   阿里云发布了很多款产品,今天让我们一起来了解下阿里云消息服务(Message Service)吧.   什么是消息服务呢?我来给大家说说.   消息服务是阿里云唯一商用的消息中间件服务.消息服务是一种高效.可靠.安全.便捷.可弹性扩展的分布式消息服务.MNS能够帮助应用开发者在他们应用的分布式组件上自由的传递数据,构建松耦合系统.     那么,消息服务有什么独特之处呢?   与传统的消息中间件不同,消息服务一开始就是基于阿里云自主研发的飞天分布式系统来设

干货--JMS(java消息服务)整合Spring项目案例

Sprng-jms消息服务小项目 所需的包: spring的基础包 spring-jms-xx包 spring-message–xx包 commons-collection-xx包 commons-pool2-xx包 aop切面的包: spring-aop,spring-aspect,aopalliance,aspectjrt.jar,aspectjweaver.jar 配置: 1.配置ConnectionFactory 2.配置jmsTemplate; 3.配置Destination 4.配置

Java消息服务基础

在不同系统之间交换信息的一大障碍是如何在精确交换和格式化数据方面取得一致.Java Message Service( Java消息服务,简称JMS)通过提供一种与J2EE应用程序或传统系统交互的方法部分的解决了这个问题. JMS的通用接口集合以异步方式发送或接收消息.异步方式接收消息显然是使用间断网络连接的客户机,诸如移动电话和PDA的最好的选择.另外, JMS采用一种宽松结合方式整合企业系统的方法,其主要的目的就是创建能够使用跨平台数据信息的.可移植的企业级应用程序,而把开发人力解放出来. J

01_Weblogic课程之概念篇:代理服务器,web服务器,应用程序服务器,JNDI概念,JTA概念,Java消息服务,Java验证和授权(JAAS),Java管理扩展,Web客户机,客户机应用程序

 1 什么是服务器 Weblogic中服务器分为两种,一种是受管服务器,另外一种是管理服务器.   Weblogic课程(Weblogic是Oracle公司的,最开始的是BEA公司的) 一 系统管理 二 开发 三 性能调优   WLS(Weblogic Server)   Weblogic 12c新特性是加入了云支持   2 集群的好处:失败迁移和负载均衡. 3 分布式系统 分布式系统将工作划分到几个独立的模块中. 单个模块出现故障对整个系统的影响较小,这使得分布式系统具有更高的: ----

Kafka、RabbitMQ、RocketMQ 消息中间件的对比 | 消息发送性能篇

阿里云消息队列测试小组 出品 分布式系统中,我们广泛运用消息中间件进行系统间的数据交换,便于异步解耦.现在开源的消息中间件有很多,我们自家的产品 RocketMQ (阿里云消息队列(MQ)的内核) 也顺利开源,得到大家的关注. 那么,消息中间件性能究竟哪家强? 带着这个疑问,我们消息队列测试小组对常见的三类消息产品(Kafka.RabbitMQ.RocketMQ)做了性能比较. Kafka是LinkedIn开源的分布式发布-订阅消息系统,目前归属于Apache定级项目.Kafka主要特点是基于P

使命必达--阿里云商用消息服务MNS初探

在2015杭州云栖大会上,阿里云飞天事业部资深总监李津发布了一款海量消息,使命必达的消息服务产品(http://www.aliyun.com/product/mns).该产品能够提供高效,可靠,安全,便捷,弹性扩展的消息服务:能够帮助我们轻松的构建松耦合,高并发的分布式系统:能够方便我们做跨域数据安全传输.目前,消息服务也是阿里云唯一商用消息产品,其服务稳定性和可靠性都有SLA保障.下面让我一起来详细了解一下这款产品.   架构优势带来海量,高可靠,高可用特性 在了解消息服务前,不得不提的是阿里

解密阿里云七武器之高性能消息服务ONS

7月22日,首届阿里云分享日上,阿里云正式对外发布了企业级互联网架构解决方案,该服务由EDAS应用框架.ONS消息队列.DRDS分布式数据库组成,能有效解决企业上云后网站过载.性能瓶颈.重复开发等问题. 而由阿里巴巴集团经过6年的自主研发,基于高可用分布式集群技术的ONS云消息服务,是企业级互联网架构解决方案的典型代表.目前,ONS云消息服务每天可处理上千亿条消息,服务于阿里内部上千个应用,轻松通过天猫双十一等大促考验.外界对ONS的描述是"成熟.稳定.可靠,性能突出",那么ONS究竟

开放消息服务公测

开放消息服务ONS(Open Notification Service)是基于阿里开源消息中间件MetaQ(RocketMQ)打造的一款云消息中间件产品,历经三次天猫双十一海量消息考验,被广泛应用在阿里内部系统中, 是构建大型分布式系统的核心组件之一.它能为分布式应用系统提供异步解藕.削峰填谷能力,同时也具有海量消息堆积,高吞吐,可靠重试等互联网应用所需特性.         开通ONS服务之后,就会进入我们全新设计的ONS控制台,主要包括的功能:   a. 发布订阅管理: 发布管理:可以创建一