`

ActiveMQ的queue以及topic两种消息处理机制

    博客分类:
  • java
 
阅读更多

JMS:Java Message Server

JMS消息服务器有很多:ActiveMQ、Jboss MQ、Open MQ、RabbitMQ、ZeroMQ等等 

 

queue与topic的技术特点对比

 

 

Topic

概要

Publish Subscribe messaging 发布订阅消息

Point-to-Point 点对点

有无状态

topic数据默认不落地,是无状态的。

Queue数据默认会在mq服务器上以文件形式保存,比如Active MQ一般保存在$AMQ_HOME\data\kr-store\data下面。也可以配置成DB存储。

完整性保障

并不保证publisher发布的每条数据,Subscriber都能接受到。

Queue保证每条数据都能被receiver接收。

消息是否会丢失

一般来说publisher发布消息到某一个topic时,只有正在监听该topic地址的sub能够接收到消息;如果没有sub在监听,该topic就丢失了。

Sender发送消息到目标Queue,receiver可以异步接收这个Queue上的消息。Queue上的消息如果暂时没有receiver来取,也不会丢失。

消息发布接收策略

一对多的消息发布接收策略,监听同一个topic地址的多个sub都能收到publisher发送的消息。Sub接收完通知mq服务器

一对一的消息发布接收策略,一个sender发送的消息,只能有一个receiver接收。receiver接收完后,通知mq服务器已接收,mq服务器对queue里的消息采取删除或其他操作。

          Topic和queue的最大区别在于topic是以广播的形式,通知所有在线监听的客户端有新的消息,没有监听的客户端将收不到消息;而queue则是以点对点的形式通知多个处于监听状态的客户端中的一个。

分享到:
评论

相关推荐

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

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

    消息队列 Queue与Topic区别.docx

    它提供了异步处理机制,使得消息的发送者无需等待接收者处理完毕即可继续执行,从而提高了系统的整体效率和可靠性。 JMS(Java Message Service)是一种提供消息中间件的API标准,用于在两个应用程序之间或者分布式...

    Queue与Topic的比较

    Queue 和 Topic 是 JMS(Java Message Service)中两种基本的消息模式,分别对应 Point-to-Point 和 Publish/Subscribe 模式。 Queue 模式 在 Queue 模式中,一条消息仅能被一个消费者(Consumer)接收。如果在...

    activemq 虚拟topic与路由功能

    除了虚拟Topic外,ActiveMQ还支持另一种类似但功能略有不同的概念——复合队列(Composite Queue)。两者的主要区别在于: - **虚拟Topic**:主要用于将一个Topic的消息转发到多个目的地(Topic或队列),适合于...

    详解Springboot整合ActiveMQ(Queue和Topic两种模式)

    在本文中,我们将深入探讨如何将SpringBoot与Apache ActiveMQ集成,特别关注Queue和Topic两种消息传递模式。首先,我们来了解一下ActiveMQ的基本概念和功能。 Apache ActiveMQ是一款开源的消息中间件,由Apache软件...

    Springboot整合ActiveMQ(Queue和Topic两种模式)

    通过`@Value`注入队列和主题的名称,并分别定义`ActiveMQQueue`和`ActiveMQTopic`的@Bean,如以下示例所示: ```java @Component @EnableJms public class ConfigBean { @Value("${myqueue}") private String ...

    ActiveMQ Topic 实例

    在分布式系统中,消息队列(Message Queue)作为一种中间件,起到了解耦、异步处理以及负载均衡的作用。Apache ActiveMQ 是一个非常流行的开源消息代理,它实现了多种消息协议,如OpenWire、STOMP、AMQP和MQTT等。本...

    ActiveMQ的队列、topic模式

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

    JMS中topic和queue两种实现方式

    JMS主要提供了两种消息模式:主题(Topic)和队列(Queue),这两种模式在实现方式和功能上有所不同。 1. 主题(Topic): - **发布/订阅模型**:主题基于发布/订阅模型,其中多个生产者可以发布消息到一个特定的...

    Spring+ActiveMQ消息队列+前台接收消息

    4. **消息类型**:JMS支持两种消息模型:点对点(Queue)和发布/订阅(Topic)。Queue模式下,消息会被一个消费者接收并删除;Topic模式下,消息可以被多个订阅者接收。 5. **消息的持久化**:ActiveMQ允许配置消息...

    activeMQ收发工具.rar

    2. **消息模型**:掌握点对点(Queue)和发布/订阅(Topic)两种消息模型。点对点模型确保每个消息仅被一个消费者接收,而发布/订阅模型允许多个订阅者接收相同的消息。 3. **消息类型**:理解JMS提供的不同消息...

    Springboot-activeMQ

    ActiveMQ是Apache下的开源项目,完全支持JMS1.1和J2EE1.4规范的JMS Provider实现。... JMS中定义了两种消息模型:  点对点(point to point, queue)  发布/订阅(publish/subscribe,topic)。

    C#,activemq,mq

    为了确保高可用性和可靠性,ActiveMQ支持主题(Topics)和队列(Queues)两种模型。主题采用发布/订阅模式,多订阅者可以同时接收相同的消息;而队列遵循先进先出(FIFO)原则,每个消息仅被一个消费者接收。此外,...

    Activemq同时支持多个Topic类型通信,并且配置添加到服务里面方便管理

    Topic是一种发布/订阅模式的消息传递方式,允许多个消费者订阅同一个Topic,当生产者发布一条消息时,所有订阅了该Topic的消费者都会收到这条消息。这种方式适用于广播消息或者需要一对多通信的情景。 在ActiveMQ中...

    Apache ActiveMQ教程 JMS 整合Tomcat

    为了更好地理解ActiveMQ的功能,可通过运行附带的示例程序来体验其消息处理机制。Queue消息示例演示了典型的点对点通信模式,生产者与消费者之间进行消息的发送与接收,而Topic消息示例则展示了发布/订阅模型,一条...

    Apache_ActiveMQ教程

    这两种模式对应不同的应用场景,其中发布/订阅模式下又有非持久订阅和持久化订阅两种消息处理方式。 Point-to-Point消息模式下的开发流程涉及生产者和消费者的开发。生产者需要创建JMS连接,基于该连接创建会话,...

    MessageQueue API ActiveMQ Core 5_2_0_0-fuse API

    4. **目的地**:消息的接收方,分为队列(Queue)和主题(Topic)两种类型。队列遵循点对点模型,每个消息仅由一个消费者接收;主题遵循发布/订阅模型,多个订阅者可以接收到同一消息。 5. **连接**(Connection):...

    activemq_spring.rar_Spring和ActiveMQ_spring_消息中间件_消息发布订阅_消息订阅

    6. **实现消息的发布订阅模式**:在ActiveMQ中,有两种消息传递模式:点对点(Queue)和发布订阅(Topic)。点对点模式下,每个消息只有一个消费者;发布订阅模式下,一个消息可以被多个消费者(订阅者)接收。在...

    最新稳定版ActiveMQ5.15.0

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

    ActiveMQ接受和发送工具.rar

    3. **消息模型**:ActiveMQ支持两种消息模型——点对点(Queue)和发布/订阅(Topic)。点对点模型适用于一对一通信,而发布/订阅模型适用于一对多广播式通信。 4. **协议支持**:ActiveMQ不仅支持JMS,还支持AMQP...

Global site tag (gtag.js) - Google Analytics