rabbitmq是零拷贝技术吗?
rabbitmq不是零拷贝技术。rabbitmq是一个分布式消息队列,用来解耦实现异步和流量控制。
rabbitmq可以删除延迟队列中的某个不需要消费的消息吗?
想知道如何通过业务删除?
高并发场景下,如何保证生产者投递到消息中间件的消息不丢失?
1.让让我们来看看消息的传递过程。消息分三步发送,如图所示。
2.发送方可以通过这三个步骤确保向mq发送消息的可靠性:
第一步send将消息发送到mq,
在第二步中,mq持久化消息。mq需要保证高可用性,持久化后消息不会丢失。一般有多个副本,raft协议可以用来保证多个副本之间的数据一致性。
步骤3:mq回复发送方,确认消息已经传递。
但是,由于步骤1、步骤2和步骤3可能会失败,因此有必要重试发送请求。如果第一步或第二步失败,直接再试一次。如果步骤3失败,可能会有多条消息,这就需要消费者保证消费的幂等性。
原文标题:rabbitmq怎么避免消息丢失 rabbitmq是零拷贝技术吗?,如若转载,请注明出处:https://www.shcrbfchs.com/shc4/36610.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「泰福润金」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。