消息队列中间件——JMS消息服务

JMS(Java Message Service)是JAVAEE的消息服务规范,提供P2P和Pub/Sub两种消息模型。P2P模式适用于一对一消息传递,消息在被消费后不再存在;Pub/Sub模式支持一对多,允许持久化订阅,即使订阅者未在线也能接收消息。这两种模型降低了分布式通信的耦合度,增强了系统的可靠性和异步处理能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       消息队列的JAVAEE规范JMS。JMS(Java message service,Java消息服务)API是一个消息服务的标准/规范,允许应用程序组件基于javaEE平台创建、发送、接收和读取消息。它使分布式通信耦合度更低,消息服务更加可靠以及异步性。

消息模型

在JMS标准中,有两种消息模型P2P(point to point),Publish/subscribe(pub/sub).

1.p2p模式

p2p模式包含三个角色:消息队列,发送者,截胡搜着,每个消息都被发送到一个特定的队列,接收这从队列中获取消息,队列保留着消息,直到他们被消费或者超时。

特点:

每个消息只有一个消费者,一点倍消费,消息就不再在消息队列中

发送者和截胡搜着之间在时间上没有依赖性,也就是说当发送者发送了消息之后,不管截胡搜着有没有正在运行,它不会营销到消息倍发送到队列。

接受者在成功接收消息之后需向队列应答成功

如果希望发送的每个消息都会被成功处理的话,那么需要p2p模式

2.pub/sub模式

包含三个角色主题(topic),发布者(publisher),订阅者(subscriber)多个发布者将消息发送到topic,系统将这些消息传递给多个订阅者。

特点:

每个消息可以有多个消费者

发布者和订阅者之间有时间上的依赖,针对某个主题的订阅,它必须创建一个订阅者之后,才能消费发布者的消息

为了消费的消息,订阅者必须保持运行的状态

为了缓和这样严格的时间相关性,JMS允许订阅者创建一个可持久化的订阅,这样,即使订阅者没有被激活

 它也能接收到发布者的消息。

如果希望发送的消息可以不被做任何处理,或者只被一个消息者处理、或者可以被多个消费者处理的话,那么可以采用pub/sub模型。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值