`

java消息服务(jms) 概念

    博客分类:
  • jms
jms 
阅读更多
什么是消息

消息是组件和应用程序之间的一种通信形式。一个消息系统是点对点的设施。
消息客户端可以发送或接收消息。每一个客户端都连接到一个消息代理。这个代理
可以创建,发送,接收和读取消息。

消息传递可以分布式通信,是松耦合的。一个组件发送一条消息到目的地,接受者可以
从目的地接收到该条消息。然而,发送者和接受者不必为了通信同时可用。事实上,发送者
并不需要了解接收者的任何信息。同样接受者也不需要知道发送者。两者只需要知道消息的
格式和目的地。在这方面,消息不同于其他紧耦合技术,如RMI(远程方法调用),必须
知道远程应用的方法。

消息传递的优点:

>便于集成:
使用消息传送机制,你可以向在完全不同的平台上实现的应用程序请求调用服务。

>缓解系统瓶颈
某些组件只能处理数量有限的请求,而且它将很快会变成系统瓶颈。
消息传送机制可以用于缓解乃至消除系统瓶颈。
因为消息传送可以是异步处理的,这点很重要,不需要阻塞。
将请求发送到一个消息系统后,消息系统可以分发给多个消息处理者

>提高可伸缩性
和缓解系统瓶颈的方式非常相似,消息传送机制还可以用于提高系统的整体可伸缩性和吞吐量,
同时,它还能够有效地缩短响应时间。通过引入能够并发处理不同消息的多个消息接收者,
消息传送系统的可伸缩性得以实现。由于消息排队等候处理、队列中的消息数量,或者称为队列深度,
开始逐渐增大,系统响应时间开始变长,与此同时,吞吐量也会下降。提高系统可伸缩性的一种方法就是,
向队列中添加多个并发消息侦听器,以便并发处理更多的请求。提高系统整体可伸缩性的另一种方法
,就是要尽可能地利用系统的异步方式。如此一来,按照这种方式的组件去耦就会允许系统水平增长,
而此时硬件资源则成为了主要的限制因素。虽然这看起来可能像一剂灵丹妙药,
不过,中间件只能在系统的另一个主要瓶颈(数据库)的实质性限制之内进行水平扩展(注:如果使用了数据库)。
你可以在单独的队列中拥有数百个甚至数千个消息侦听器,以此来提供同时处理多条消息的能力,
但是,数据库却可能只能处理数量有限的并发请求。尽管在应对数据库瓶颈问题方面,
已经有多种复杂的技术,然而现实却是:能将中间件层扩展到什么程度,
始终会受到数据库这种实质性的限制。

>体系结构灵活性和敏捷性
使用消息传送机制作为企业体系结构整体解决方案的一部分,
这为未来的体系结构灵活性和敏捷性留有了更大的余地。
这些优良特性是通过使用抽象和去耦来实现的。使用消息传送机制,
各个子系统、组件,乃至服务都能够被抽象出来,甚至可以达到在对其知之甚少,
甚至是一无所知的情况下,即可用客户端组件所取代的程度。

总之,消息传递机制的优点都得益于它的异步机制,减少了阻塞,缓解系统瓶颈,提高
系统可伸缩性。去耦合。


JMS API

JMS API 允许应用创建,发送,接收和阅读消息。是由Sun和其他几个公司设计。
JMS API 定义了一组通用的接口和相关语义允许使用java语言和其他的消息系统进行通信。
JMS是一种厂商无关的API,可供多个不同的企业消息厂商使用,和JDBC非常相似。

api主干接口:
ConnectionFactory
Destination
Connection
Session
Message
MessageProducer
MessageConsumer

ConnectionFactory,Destination必须从JMS实现供应商处获得。其他的可以从接口方法获取。
从ConnectionFactory可以获取Connection,从Connection中可以获取Session.
Session就可以创建Producer,Consumer发送消息。




消息传送模型:

JMS支持两种消息传送模型:点对点和发布订阅模型。
两种模式下接口不同:都是对上面说的主干接口进行不同的定制化,
如对于Destination,点对点使用Queue队列,发布订阅使用Topic。


发布订阅:广播形式。

message producer:消息生产者。发送消息的client。
message receiver:消息消费者。接收消息的client。
一个JMS client既可以是producer也可以是reciever

点对点(P2P)
一对一消息传送。通过队列(Queue)同步或异步的发送,接收消息。
发送到队列中的消息被一个而且仅仅一个接受者接收。即使一个
队列有配置有多个接受者。支持负载均衡,可以配置多个接受者。
消息传递基于pull,polling都可

发布订阅(Pub/Sub)
消息会被发布到主题中(Topic)。可以被多个订阅者读取。每个订阅者
都会接收到每条消息的一个副本。消息传递基于push。
比p2p去耦合能力更强。
0
0
分享到:
评论

相关推荐

    JAVA消息服务JMS规范及原理详解.docx

    JAVA消息服务JMS,全称Java Message Service,是Java平台中的一种标准API,设计用于在分布式系统中实现应用程序之间的异步通信。通过JMS,开发者能够创建、发送、接收和读取消息,降低了不同组件之间的耦合度,提高...

    java消息服务(第二版)清晰中文完整版

    Java消息服务(Java Message Service,简称JMS)是Java平台中的一个API,它为应用程序提供了创建、发送、接收和读取消息的功能。JMS设计的主要目的是让分布式系统能够通过异步通信模型来进行交互,这种方式有助于...

    java 消息服务(第二版)源码

    Java消息服务(JMS,Java Message Service)是Java平台中用于创建、发送、接收和读取消息的标准API。它提供了一种可靠的消息传递机制,允许分布式系统中的组件进行异步通信。在Java应用中,JMS常用于解耦组件,使得...

    java中间件之jms

    JMS(Java Message Service),即Java消息服务,是一项关键的技术组件,属于Java EE平台的一部分。它的设计目的是为了定义一套标准接口,让Java应用程序能够与消息中间件进行交互,类似于JDBC在数据库访问方面的角色...

    jms.rar_jar j_java jms_jms_jms jar_jms.j

    Java消息服务(Java Message Service,简称JMS)是Java平台中用于企业级应用间异步通信的标准接口。它允许应用程序创建、发送、接收和阅读基于消息的数据,从而实现应用程序间的解耦和并行处理。在Java开发中,JMS...

    Java+Message+Service+JMS+java消息服务

    Java Message Service(JMS)是Java平台中用于创建、发送、接收和读取消息的应用程序接口(API)。它提供了一种标准的方式,让分布式系统中的不同组件之间可以通过异步通信来交换信息。JMS允许应用程序在不受网络...

    Java-JMS实例

    WebLogic Server 是Oracle公司的一个Java EE应用服务器,它遵循JMS规范并提供了强大的消息服务功能。WebLogic JMS Server 的主要组件包括: 1. **WebLogic JMS servers**:这些服务器处理消息的发送和接收。 2. **...

    Java消息服务 pdf

    Java消息服务(Java Message Service,JMS)是Java平台中用于企业级应用集成(Enterprise Integration Patterns,EIP)的一种标准API,它定义了应用程序如何创建、发送、接收和读取消息的标准接口。JMS允许分布式...

    java消息服务(第二版)

    在《Java消息服务(第二版)》这本书中,读者可以深入学习到JMS的核心概念、设计模式以及实际应用。以下是基于JMS的详细知识点: 1. **JMS简介**:JMS是Java平台上的API,用于在分布式系统中创建、发送、接收和读取...

    JMS(java消息服务学习必备)

    通过深入理解和熟练掌握这些JMS概念和特性,开发者可以构建健壮、可扩展的企业级应用,处理复杂的数据交互和异步任务。学习JMS不仅有助于提升个人技能,也是在Java开发领域取得专业成就的重要步骤。

    java-jms小例子

    Java消息服务(Java Message Service,简称JMS)是Java平台中用于企业级应用程序间异步通信的一种标准API。它允许应用程序创建、发送、接收和读取消息,为分布式环境提供了可靠且灵活的消息传递机制。在Java开发中,...

    java消息服务(第二版)+源码

    在“Java消息服务(第二版)”这本书中,作者深入浅出地介绍了JMS的概念、工作原理以及实际应用。 JMS的核心概念包括消息生产者、消息消费者和消息代理。消息生产者负责创建消息并将其发送到消息队列或主题,消息...

    JAVA消息服务实例

    Java消息服务(JMS,Java Message Service)是Java平台中用于企业级应用集成的一个标准API,它提供了一种可靠和高效的方式来进行异步通信。在JMS中,消息被发送到一个消息代理(message broker),然后由消费者从该...

    JMS 教程 - 消息队列、消息服务

    在深入探讨JMS(Java消息服务)之前,我们先来了解下消息服务的基本概念及其在企业级应用中的重要性。企业级消息传递(Enterprise Messaging)是一种在分布式系统中用于异步通信的技术,它允许应用程序之间通过消息...

    java.jms.jar JMS需要的JAR包

    Java消息服务(Java Message Service,简称JMS)是Java平台中用于企业级应用集成的API,它定义了一种标准的接口,使得应用程序可以与各种消息中间件进行交互,实现异步的消息传递。JMS允许应用程序创建、发送、接收...

    JMS消息发送及订阅

    Java消息服务(Java Message Service,简称JMS)是Java平台中用于企业级应用间异步通信的标准接口。它提供了一种可靠的消息传递机制,使得应用程序可以在分布式环境中交换信息。在这个主题中,我们将深入探讨JMS消息...

    java_JMS_消息中间件_规范教程

    Java消息服务(Java Message Service,简称JMS)是Java平台中用于企业级应用间异步通信的一种标准API。它允许应用程序创建、发送、接收和读取消息,为分布式计算环境提供可靠的中间件服务。JMS1.1是该规范的一个重要...

Global site tag (gtag.js) - Google Analytics