ActiveMQ camel


游览器输入地址: http://127.0.0.1:8161/admin/ 访问activemq管理台
账号和密码默认为: admin/admin


# yml配置的密码也是如下的密码
activemq:
  url: failover:(tcp://localhost:61616)
  username: admin
  password: admin



@Component
public class ActiveMqReceiveRouter extends RouteBuilder {
    @Override
    public void configure() throws Exception {

        // Queue模式队列 (点对点模式) 监听Queues名称为queueName的消息, 只能一个消费
        from("activemq:queueName").log("${body}").end();

        // topic模式队列(发布订阅模式)  多个监听者监听同一个名为"sino.top"的Topic主题, 都可以收到消息并消费. 默认情况下,ActiveMQ 中的主题是广播模式
        from("activemq:topic:sino.top").log("监听1收到的消息: ${body}");

        from("activemq:topic:sino.top").log("监听2收到的消息: ${body}");

    }
}

1.Queue模式队列 (点对点模式) 

创建queue来发送消息  queue的名称可以是 xxx.xxxx.xxxx

Name : 消息队列名称
Number Of Pending Messages:未被消费的消息数目
Number Of Consumers:消费者数量
Messages Enqueued :进入队列的消息,进入队列的消息总消息数目,包括已被消费和未被消费的消息数目.这个 数目只增不减.
Messages Dequeued :出了队列的消息,可以理解为是被消费的消息数量,在queues里和它进入队列的总数量相等(因为一个消息之后被成功消费一次.)如果暂时不等,是因为消费者还没来得及消费.

2.topic模式队列(发布订阅模式) 

创建topic来发送消息  默认情况下,ActiveMQ 中的主题是广播模式, 多个监听都能监听同一个topic并消费

Name : 主题名称
Number Of Pending Messages:未被消费的消息数目
Number Of Consumers:消费者数量
Messages Enqueued : 进入队列的消息,进入队列的消息总数目,包括已被消费和未被消费的,这个数目只增不减.
Messages Dequeued :出了队列的消息,可以理解为是被消费的掉的消息数量,在topics里,因为多消费者从而导致数量会比入队数目要高

3. topic模式队列 和 Queue模式队列  用那种好?

Queue(点对点模式):
一对一通信:每个消息只被一个消费者接收。
持久性:如果消费者离线,消息可以存储在队列中直到消费者上线并处理它们。
负载均衡:可以实现消费者之间的负载均衡,消息在消费者之间分配。
适用场景:适用于任务分发、确保消息不丢失且每个消息都需要被处理一次的场景。
Topic(发布/订阅模式):
一对多通信:消息可以被一个或多个订阅了该主题的消费者接收。
广播:适合消息广播,所有在线的订阅者都会收到消息。
时效性:消费者只能接收到订阅之后发布的消息,错过的时间点的消息无法获取。
适用场景:适用于新闻推送、实时更新、系统通知等需要广播信息给多个接收者的场景。
决策依据:
如果您的应用需要保证每条消息都被至少处理一次,并且可以容忍短暂的延迟(例如消费者不在线时),那么Queue可能更合适。
如果您的应用需要实时广播信息给多个接收者,每个接收者都可以处理或忽略这些信息,且不需要持久化所有消息给未在线的接收者,那么Topic可能更适合。
总之,根据您的业务逻辑是否需要消息持久化、消息的广播特性以及对消息处理的精确控制要求来决定使用Queue还是Topic。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值