roketmq不丢失
时间: 2024-04-24 19:27:06 浏览: 26
RocketMQ在消息传递过程中,为了保证消息的可靠性传输,采用了多种机制来避免消息丢失。首先,RocketMQ使用了同步刷盘和异步刷盘的方式来保证消息的持久化。同步刷盘会在消息发送时将消息写入磁盘并等待刷盘完成后再返回发送成功的响应,这样可以确保消息在发送成功后就已经持久化到磁盘上了。而异步刷盘则是在消息发送时将消息写入内存缓冲区,然后由后台线程定期将缓冲区中的消息刷盘到磁盘上,这样可以提高消息发送的吞吐量。
此外,RocketMQ还使用了主从复制的方式来保证消息的高可用性。每个Broker节点都可以配置多个Master和多个Slave,Master节点负责接收和存储消息,而Slave节点则负责备份Master节点的消息数据。当Master节点发生故障时,会自动选举一个Slave节点作为新的Master节点,确保消息的可用性。
另外,RocketMQ还提供了消息消费的确认机制。消费者在消费消息后,可以通过发送确认消息给Broker来告知Broker该消息已经被成功消费。如果消费者在一定时间内没有发送确认消息,Broker会将该消息重新发送给其他消费者进行消费,以确保消息不会丢失。
综上所述,RocketMQ通过持久化机制、主从复制和消息消费的确认机制等多种方式来保证消息不会丢失。但是在实际开发中,我们也需要注意编写幂等性的消费逻辑来避免消息重复消费的问题。
#### 引用[.reference_title]
- *1* *2* [你需要知道的RoketMQ](https://blog.csdn.net/tt8889/article/details/124456761)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [面试官:RocketMQ 如何保证消息不丢失,如何保证消息不被重复消费?](https://blog.csdn.net/m0_72885838/article/details/126603468)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)