RocketMQ如何保证消息成功投递
时间: 2024-06-13 10:06:19 浏览: 87
springboot整合rabbitmq,开启手工确认。保证消息100%投递
RocketMQ保证消息成功投递的方法如下:
1. RocketMQ使用了生产者发送消息后的确认机制,即生产者发送消息后,会等待Broker返回确认消息,确认消息包括SEND_OK和FLUSH_DISK_TIMEOUT两种状态,只有收到确认消息才会认为消息发送成功。
2. RocketMQ还使用了消费者消费消息后的确认机制,即消费者消费消息后,会向Broker发送确认消息,确认消息包括CONSUME_SUCCESS和RECONSUME_LATER两种状态,只有收到确认消息才会认为消息已经被成功消费。
3. RocketMQ还提供了消息查询功能,可以在消息发送前查询该条消息是否发送成功。
4. RocketMQ还可以在消息发送之前查询Redis是否存在该条消息,若不存在,发送消息,并将能否标识该条消息的数据存入Redis。
阅读全文