(二)消息队列如何确保消息不会丢失

消息队列如何确保消息不会丢失

一条消息从生产到消费可以分为以下三个阶段:
1.生产阶段:生产者发送消息到MQ
2存储阶段:MQ将消息存储
3消费阶段:消费者从MQ中消费

生产阶段:

生产阶段消息队列通过最常用的请求确认机制保证可靠性,当消息发送给broker如果成功则会得到一个确认响应,客户端得到响应则认为是一次成功的消息发送,若长时间得不到确认响应,则会重新发送消息,若不成功则会抛出异常或返回代表失败的值,在编写代码中,正确的处理返回值和异常,则能保证在生产阶段确保消息不丢失。

存储阶段:

在存储阶段正常运行,就不会出现消息丢失的情况,但当服务宕机或者进程死掉了,则会出现消息丢失的问题。
对于单个节点的broker,则可以当消息写入磁盘后,在回复确认响应,如果是多个节点,则可以当至少有两个节点将消息写入磁盘在进行回复响应

消费阶段:

在消费阶段则需要在业务逻辑都处理完之后在返回消费确认

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值