
RabbitMq
虎哥和你一起学编程
路漫漫其修远兮吾将上下而求索
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Rabbitmq的confirm和return机制
Rabbitmq在生产者发送到mq的时候可能会发生消息丢失的情况,可以使用事务来解决,但是开启了事务后吞吐量就会极大的下降。所以Rabbitmq提供了一个confirm机制,当消息成功发到exchange时,会触发confirm回调。 Rabbitmq在内部从exchange到queue的过程中也可能出现路由失败的情况,也会导致丢消息。Rabbitmq提供了return机制可以解决这个问题,当我们路由失败时,可以通过return回调来将路由失败的消息记录下来进行处理。...原创 2021-11-26 11:08:56 · 2273 阅读 · 0 评论 -
RabbitMq死信队列和延时队列
RabbitMq提供了一个死信队列的功能,可以在消息被拒绝或者过期后还没消费时,扔到死信队列里面,然后通过邮件告警等方式来手工处理.进入死信队列的三种方式1.消息被Basic.reject()或者Basic.nack().并且request设置为false,即不重试2.消息设置了过期时间,并且过期时间到了还没有被消费3.消息队列的长度达到了最大值。通常一个项目里面使用一个死信队列,然后再业务队列里面设置好死信队列。这样当业务消费出现异常时,可以加入死信队列,这样可以防止消息丢失。..原创 2021-11-25 11:20:35 · 1106 阅读 · 0 评论 -
RabbitMq系列教程(一)
RabbitMq做为一个成熟的消息队列商业产品,最早是为了给金融系统提供一种消息总线的功能,后来被广泛应用于各种中小型的网站中,RabbitMq的设计初衷就是为了让消费者和生产者解耦,可以插拔式的添加或减少任何一个生产者或消费者,并且生产者和消费者角色可以互换,一个rabbitMq的客户端可以既是生产者也是消费者。 消息队列的作用: ...原创 2019-08-02 16:35:30 · 200 阅读 · 0 评论 -
rabbitmq延时队列的问题
最近在用rabbitmq做了一个延时队列,然后在设置延时时,由于情况没有考虑全面,导致延时设置成了负数,那么当我们的延时时间设置为负数时,会怎么样呢? 我们来看一段源码, public void setDelay(Integer delay) { if (delay != null && delay >= 0) {...原创 2019-09-11 16:51:20 · 1638 阅读 · 2 评论