专栏名称: 架构师
架构师云集,三高架构(高可用、高性能、高稳定)、大数据、机器学习、Java架构、系统架构、大规模分布式架构、人工智能等的架构讨论交流,以及结合互联网技术的架构调整,大规模架构实战分享。欢迎有想法、乐于分享的架构师交流学习。
今天看啥  ›  专栏  ›  架构师

面试官:要保证消息不丢失,又不重复,消息队列怎么选型?

架构师  · 公众号  ·  · 2024-07-12 22:28
    

文章预览

架构师(JiaGouX) 我们都是架构师! 架构未来,你来不来? 在使用消息队列时,有两个经常让我们烦恼的问题,消息丢失和消息重复。那我们在做技术选型时,有没有一个消息队列能解决消息丢失和消息重复这两个问题呢? 消息丢失 如上图,从生产者发送消息,Broker 保存消息,消费者消费消息,每一个环节都有可能丢失消息。 发送丢失 生产者发送消息时,如果处理不当,很可能会造成消息丢失。 生产者发送消息,主流消息队列都支持同步发送和异步发送。如果使用同步发送,生产者发送消息后,会同步等待 Broker 返回的 ACK,收到 ACK 消息 ,就认为消息发送成功。如果长时间没有收到,则会认为消息发送失败,需要进行重试。 同步发送可以保证消息不丢失,但是会有性能问题,所以多数情况会选择异步发送。异步发送如何保证消息不丢失呢? ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览