`
gaojingsong
  • 浏览: 1181841 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【ActiveMQ 两种消费模式】

阅读更多

 

MQ:Message Queue 消息队列 作用:

MQ可以理解为现实生活中的邮局,当A给物品给B时,A无需直接去找B当面去将物品交给B,A可以通过邮局寄送,然后B通过查询快递信息(监听),知道物品达到邮局,然后B自己去邮局取即可。

 

 

消息队列的2种通信模式: 

point-to-point:点对点(queue)

特点:点对点并不是只A发送的消息只能指定B接收,而是只A发送的任意一条消息只能由一个人接收处理,也就是每条消息只能被消费一次。

1)一个消息只能被一个服务接收

2)消息一旦被消费,就会消失

3)如果没有被消费,就会一直等待,直到被消费

4)多个服务监听同一个消费空间,先到先得

 

 

publish/subscribe发布/订阅模式(topic)

特点:A发送的消息可以被所有监听A的对象的接收,就好比学校的广播,所有的学生都可以收听校园广播信息。

1)一个消息可以被多个服务接收

2)订阅一个主题的消费者,只能消费自它订阅之后发布的消息。

3)消费端如果在生产端发送消息之后启动,是接收不到消息的,除非生产端对消息进行了持久化(例如广播,只有当时听到的人能听到信息)

 

 

Queue模式:

点对点通信,每个消息只有一个消费者,消息保证送达,离线消费者可以在下次上线后收到之前积压的消息。

 

Topic模式:

普通订阅:

不区分消费者,当前有几个客户端在线,就发送几条广播给客户端。

 

持久订阅:

区分消费者,消费者在线则直接发送消息广播给消费者,消费者离线,只要该消费者有topic登记,就会为其保留消息直至其再次连接后一次性推送,消息可以积压。

0
0
分享到:
评论

相关推荐

    Apache ActiveMQ学习笔记【原创:mq的方式有两种:点到点和发布/订阅】

    通过以上介绍,我们可以看到 ActiveMQ 提供了两种主要的消息传递模型:点对点模型和发布/订阅模型。这两种模型各有特点,适用于不同的应用场景。点对点模型适用于一对一的消息传递场景,而发布/订阅模型则适用于一对...

    jms之activeMQ 队列和广播模式例子(主要给初学者提供入门知识)

    这篇博客"jms之activeMQ 队列和广播模式例子"主要面向初学者,旨在提供ActiveMQ入门级的知识,通过实例解释队列(Queue)和主题(Topic)这两种基本的消息模式。 首先,我们要理解JMS中的队列和主题的区别。队列...

    ActiveMQ的队列queue模式(事务、应答、转发模式、阻塞消息)

    ActiveMQ提供了两种类型的应答:自动应答(auto-acknowledge)和显式应答(client-acknowledge)。自动应答模式下,消费者一旦接收到消息,就会自动发送确认,而显式应答则需要消费者在处理完消息后手动发送确认。未...

    ActiveMQ的队列、topic模式

    本文将深入探讨ActiveMQ中的两种主要消息模式:队列(Queue)和主题(Topic)。 1. **队列(Queue)模式**: 队列模式遵循“发布/订阅”模型,但是一对一的。每个消息只能被一个消费者接收并处理。当一个消息被...

    ActiveMQ整合Spring(多消费者)

    ActiveMQ支持自动确认和客户端确认两种模式。在Spring中,可以通过配置`JmsTemplate`或监听器容器来控制消息确认策略,确保消息正确处理后才被确认。 8. **异常处理**: 当消费者处理消息时发生异常,ActiveMQ...

    ActiveMQ消息的消费原理

    本文来自于cnblogs,文章主要案例为主来介绍ActiveMQ消息...至于为什么这么做,最大的原因还是在事务性会话中,两种消费模式的事务不好管控。先通过ActiveMQMessageConsumer#receive方法来对消息的接受一探究竟: 下面

    ActiveMQ的queue和topic两种模式的示例演示参照.pdf

    在ActiveMQ中,有两种主要的消息传递模式:Queue和Topic。这两种模式都是基于JMS(Java Message Service)标准,用于在分布式环境中实现异步通信。理解它们的区别和应用场景至关重要。 **Queue(队列)模式** ...

    Apache_ActiveMQ教程

    ActiveMQ支持Point-to-Point(点对点)和Publisher/Subscriber(发布/订阅者)两种消息模式。Queue(队列)用于点对点模式,确保消息能被一个消费者(consumer)接收。在消息发送时如果没有消费者可用,消息将被保存...

    ActiveMQ集群:网络连接模式(network connector)详解.docx

    ActiveMQ 集群网络连接模式(Network Connector)是 ActiveMQ 提供的一种集群功能,旨在提高消息服务的横向扩展性和高可用性。通过将多个不同的 broker 实例连接在一起,作为一个整体对外提供服务,从而提高整体对外...

    Spring平台整合消息队列ActiveMQ实现发布订阅、生产者消费者模型(适合新手或者开发人员了解学习ActiveMQ机制)

    并比较了两种模式:生产者-消费者模式和发布-订阅模式的区别。 包含的特性如下: 1.开启activeMQ,访问http://localhost:8080/demo 2.在项目中,我们为消息的生产者和发布者分别注册了两个消费者和订阅者,当有...

    activemq 配置说明与activemq入门讲解

    3. **存储策略**:ActiveMQ支持两种存储方式——内存存储和文件存储(默认是KahaDB)。内存存储速度快但不持久,文件存储持久但相对较慢。可以通过配置`<persistenceAdapter>`元素来切换。 4. **网络连接**:...

    ActiveMQ消息中间件之队列模式和主题模式详解.docx

    ActiveMQ提供了两种主要的消息模式:队列模式和主题模式。 **队列模式**: 在队列模式中,消息生产者将消息发送到一个特定的目的地,即队列。如果有多个消费者订阅了同一个队列,消息会被逐个分发给消费者,且每个...

    springboot整合activemq案例

    在本案例中,我们将关注如何在Spring Boot应用中集成ActiveMQ,以及如何使用两种主要的消息类型——Queue和Topic。Queue是一种点对点的消息模型,每个消息仅被一个消费者接收;而Topic则遵循发布/订阅模型,一个消息...

    ActiveMQ的点对点与发布/订阅模式小demo

    在这个"ActiveMQ的点对点与发布/订阅模式小demo"中,我们将深入理解这两种基本的消息传递模型,并了解如何在实践中运用ActiveMQ。 1. **点对点模式(Point-to-Point,P2P)**: 点对点模式是基于队列(Queue)的...

    最新稳定版ActiveMQ5.15.0

    5. **消息队列和主题**:ActiveMQ提供两种消息模式:点对点(Queue)和发布/订阅(Topic)。点对点模式中,每个消息只有一个消费者,而发布/订阅模式下,一个消息可以被多个订阅者接收。 6. **消息过滤**:ActiveMQ...

    activeMQ-activeMQ

    5. **主题与队列**:ActiveMQ支持两种类型的消息路由:主题(Topics)和队列(Queues)。主题适用于发布/订阅模式,一个消息可以被多个消费者接收;队列则遵循先进先出(FIFO)原则,每个消息仅被一个消费者消费。 ...

    测试activeMQ的java程序

    ActiveMQ支持两种主要的消息模型:队列(Queue)和主题(Topic)。 1. 队列模式: 在队列模式中,消息被发送到一个队列,然后由一个或多个消费者从队列中接收。队列遵循“先进先出”(FIFO)原则,即第一个进入...

    ActiveMQ学习 完整例子

    - **消息模型**:包括点对点(Queue)和发布/订阅(Topic)两种模型,分别对应于一对一和一对多的消息传递方式。 2. **安装与配置** - **下载与安装**:从官方网站获取最新版本的ActiveMQ,按照指南进行解压和...

    ActiveMQ的处理模式:PTP与PUB/SUB

    在ActiveMQ中,有两种主要的消息处理模式:点对点(Point-to-Point,简称PTP)和发布/订阅(Publish/Subscribe,简称PUB/SUB)。本文将深入探讨这两种模式及其在SpringBoot应用中的实现。 首先,点对点(PTP)模式...

    ActiveMQ讲义.ppt

    - **消息模型**:ActiveMQ支持点对点(Point-to-Point)和发布/订阅(Publish/Subscribe)两种消息模型。点对点模式下,每个消息仅被一个消费者接收;发布/订阅模式下,一个消息可以被多个订阅者接收。 - **队列与...

Global site tag (gtag.js) - Google Analytics