RabbitMq如何保证消息不丢失

rabbitMq在由于网络传输的不稳定因素,在以下四点可能出现消息丢失的情况。

针对于第1点:

1、消息发送+回调。

2、采用事务的方式chanle.txSelect(),但是会阻塞通道,造成吞吐量下降。

3、publisher confirm方式,采用RocketMQ的思想,分布式事务,也是RabbitMq新版本的扩展点。

针对于第2点:

1、使用镜像队列,rabbitMq普通集群每一个节点之间的数据是不会同步的,自己存自己的,当消费者消费消息在某个几点找不到时,就会去其他的节点同步数据返回给消费者。使用镜像队列,就会把所有节点的数据都同步之后才会返回生产者成功,保证消息分布在各个节点。

针对于第3点:

1、开启消息持久化。

 针对于第4点:

1、关闭自动消费确认,改成手动ACK确认。

保证RabbitMq消息消费顺序

一个交换机对应一个队列,一个队列对应一个消费者,即可保证mq消息的顺序消费。但影响性能。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值