RabbitMQ-08-消息的可靠性如何保证
消息的可靠性如何保证
发送端
- 需要RabbitMQ发送端确认机制,确认消息成功发送到RabbitMQ并被处理。 (如果没有正确发送,要返回报错信息,提醒业务方处理)
- 需要RabbitMQ消息返回机制,如果没有路由到对应的队列,中间件会通知发送端。(也应该要返回报错信息,提醒业务方处理)
消费端
- 需要RabbitMQ确认机制,确认消息没有发生处理异常。(消费方消费的消息,才应该删除这条消息,否则应该留在RabbitMQ里,等待异常的处理)
- 需要RabbitMQ消费端限流,限制消息推送速度,保障消费端服务稳定。(不能推的很快)
RabbitMQ
- 防止消息大量积压,配合RabbitMQ消息过期时间,避免对RabbitMQ自身产生压力过大。
- 如果当消息过期后,过期丢弃机制,对数据安全产生影响。采用死信队列,收集过期消息,对接报警系统。
总结
- 发送端确认机制(exchange确认和queue确认,没收到,那么应该异常处理)
- 消费端确认机制(ack)
- 消费端限流机制
- 消息过期机制
- 死信队列(消息过期删掉,这样做不好,消息就是数据,对于数据删除操作,一定要非常慎重。RabbitMQ解决方案:死信队列)
RabbitMQ该如何学习
计算机学科是一个要求动手能力很强的学科,通过实战,用实际项目,把知识牢牢掌握住。


添加微信 | 公众号更多内容 |
---|---|
![]() |
![]() |
本博客所发布的内容,部分内容来源于网络,版权归原作者所有,如有侵权,请联系删除。转载请注明来自 面向加薪学习!