美文网首页
Rabbitmq 记录

Rabbitmq 记录

作者: AlanSun2 | 来源:发表于2020-03-31 17:38 被阅读0次
  1. queue 可以和同一个 exchange bind 多个 routingKey
  2. qos (prefetchCount) 的意义:prefetchCount 数量表示不 ack 一次请求获取的 message 数量,可以增加吞吐量
  3. 消费者只和队列有关系,和 routingKey exchage 没有关系。
  4. exchage 负责把消息放入指定队列,和消费者没有关系
  5. 独占队列表示这个队列只能被此 connection 独占
  6. 队列分发消息使用轮询机制,也就是说如果有多个消费者消费同一个队列,消费者时轮询接收到消息的
  7. 默认情况下,如果 exchange 无法处理该消息会丢弃消息,如果想要知道是否已处理,请使用用 mandatory 参数发布消息。开启 mandatory 后,broker 会发送一个 basic.return 给发送者
  8. rabbitmq 没有支持 immediate 参数,immediate = true 是指发送消息时是否判断有消费者能处理该消息,如果没有则立即丢弃。如果要实现类似功能请使用 DLX (死信队列)
  9. 发布者开启 confirm 模式的 java 方法:
final AMQP.Confirm.SelectOk selectOk = channel.confirmSelect();
channel.basicPublish(EXCHANGE, ROUTE_KEY, true, false, null, message.getBytes());
final boolean b = channel.waitForConfirms();
....

这也是事务的替代方式。因为开始事务模式会降低250倍的性能。channel.waitForConfirms(); 方法执行时会阻塞。

  1. rabbitmq 不仅支持队列整体设置消息过期时间还支持对每条消息设置过期时间,如果两个同时设置,则取两个中最小的
  2. rabbitmq 支持队列过期,当没有消费者时,到期后会自动删除队列
  3. 死信队列用于延时的注意事项:

当后面消息的过期时间小于前面的消息时,死信时还是按顺序放入其他队列

相关文章

  • Rabbitmq 记录

    queue 可以和同一个 exchange bind 多个 routingKey qos (prefetchCou...

  • RabbitMQ 学习笔记2 - 安装 RabbitMQ

    0.背景 本文记录安装 RabbitMQ 的过程。 1. 前置准备 在 安装 安装 RabbitMQ 之前,先要...

  • 通过Docker部署RabbitMQ

    这里记录通过docker安装rabbitmq,这里是指安装rabbitmq的management版本,这个版本是带...

  • CentOs7安装rabbitMQ

    centos7的条件下安装rabbitMQ的流程记录下。因为rabbitMQ依赖erlang,安装后者绕了好多弯,...

  • RabbitMQ in Action(二)

    RabbitMQ集群 集群架构 RabbitMQ始终记录以下4种类型的数据 队列元数据:队列名称、属性(是否持久化...

  • 记录RabbitMQ学习

    参考博文 https://blog.csdn.net/qq_35387940/article/details/10...

  • rabbitmq安装记录

    在linux里面安装rabbitmq3.3.5版本,并且启动控制台; 1、#下载安装包 wget https://...

  • RabbitMQ概念记录

    基本概念 queue:就是存放消息的队列 exchange: 消息匹配处理。发送的消息会先经过exchange,e...

  • Centos7服务器上RabbitMQ单机安装

    一、背景 最近项目中用到了RabbitMQ,但是发现自己本地没有安装,此文记录一下本地RabbitMQ的安装过程。...

  • 记录首次使用RabbitMQ

    1、安装及启动: 参考:https://my.oschina.net/u/3523423/blog/1618130...

网友评论

      本文标题:Rabbitmq 记录

      本文链接:https://www.haomeiwen.com/subject/skuluhtx.html