随笔分类 -  RabbitMQ

About everything of RabbitMQ
RabbitMQ 信道(channel)挂掉,但连接仍然存在,同时出现错误:Received remote Channel.Close (406): PRECONDITION_FAILED - unknown delivery tag x 的问题
摘要:该问题经过一番试验,发现是消费者(consumer)程序逻辑错误导致:在消息处理的回调函数中多次ack或nack。 开启Python日志,并在回调函数中两次ack得到如下信息: 由unknown delivery tag很容易想到回调函数中唯二使用delivery tag的方法(ack/nack), 阅读全文

posted @ 2017-02-07 15:56 xzysaber 阅读(2689) 评论(0) 推荐(0) 编辑

RabbitMQ-优先级(priority)队列/消息
摘要:就像在日常生活中,事情有轻重缓急一样。我们对于需要处理的消息也有这样的需求。 例如重要的消息我要尽快的得到处理,当然我们可以给重要的消息开个“VIP通道”,但是VIP数量很多,并且VIP也分层次呢? 这时给消息加上优先级是一个很好的选择。 在RMQ中想要使用优先级特性需要的版本为3.5+。 然后我们 阅读全文

posted @ 2016-09-29 16:48 xzysaber 阅读(4232) 评论(0) 推荐(0) 编辑

RabbitMQ-清空队列中(一个channel或连接中)的Unacknowledged状态的消息
摘要:清空所有:nack 时将参数delivery-tag设为0,multiple设为1。 清空小于等于某delivery-tag的所有消息:nack 时将参数delivery-tag设为正数(介于1和9223372036854775807),multiple设为True。 注意:delivery-tag 阅读全文

posted @ 2016-09-09 10:57 xzysaber 阅读(6665) 评论(0) 推荐(0) 编辑

RabbitMQ-死信(Dead Letter)
摘要:对于有异常的消息我们可以有如下做法: 上边的第3个做法可以让这些异常的消息进入一个异常消息队列,等待我们的处理。 一个消息成为死信有以下几种原因: rejected - 也就是上边第2种做法 expired - 超过了队列设置的TTL(该值为消息在队列中停留最大时长,注意在达到TTL时消息为“Rea 阅读全文

posted @ 2016-09-09 10:22 xzysaber 阅读(1815) 评论(0) 推荐(0) 编辑

RabbitMQ挂掉问题处理
摘要:开发环境中的rabbitmq总是会挂掉,rabbitmq的执行都是ssh远程登录执行命令: 认为加了&,进程会在后台执行不会受到终端的影响。所以不知道什么问题,后面想到使用strace查看该进程到底在退出时遇到了什么。 使用strace记录下日志,到第二天的时候果然RMQ再次倒下。查看日志,看到最后 阅读全文

posted @ 2016-06-20 14:51 xzysaber 阅读(10221) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示