![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
消息队列
文章平均质量分 93
码农BookSea
Java开发工程师,写文章的初衷是为了沉淀我所学习,累积我所见闻,分享我所体验。站在巨人的肩膀上,我也能看得更远,希望和更多的人交流学习。
展开
-
【MQ】Kafka如何保证幂等性
文章目录幂等性要解决的问题?Kafka 是怎么保证幂等性的?开启幂等性配置Kafka幂等性的局限性事务kafka默认情况下,提供的是至少一次的可靠性保障。即broker保障已提交的消息的发送,但是遇上某些意外情况,如:网络抖动,超时等问题,导致Producer没有收到broker返回的数据ack,则Producer会继续重试发送消息,从而导致消息重复发送。如果我们禁止Producer的失败重试发送功能,消息要么写入成功,要么写入失败,但绝不会重复发送。这样就是最多一次的消息保障模式。但对于消息组件,原创 2022-05-03 22:30:11 · 7459 阅读 · 0 评论 -
【MQ】Kafka如何保证消息不丢失
文章目录Producer端保证消息不丢失Consumer端保证消息不丢失Broker端保证消息不丢失总结Producer端Consume端Broker端没时间的朋友建议直接看总结Kafka存在丢消息的问题,消息丢失会发生在Broker,Producer和Consumer三种。Producer端保证消息不丢失为了提升效率,减少IO,producer在发送数据时可以将多个请求进行合并后发送。被合并的请求发送之前缓存在本地buffer中。但是,buffer中的数据是危险的。一旦producer被原创 2022-05-03 12:30:14 · 1442 阅读 · 0 评论 -
【RabbitMQ】RabbitMQ如何做到保证消息100%不丢失?
文章目录写在前面如何保证消息100%不丢失生产端可靠性投递事务消息机制confirm消息确认机制消息持久化消息入库消费端可靠性投递ACK机制改为手动SpringBoot 提供的消息重试项目中使用RabbitMQ来作为消息队列,遇见过消息丢失的情况,特此记录一下。写在前面先来说下MQTT协议中的3种语义,这个非常重要。在MQTT协议中,给出了三种传递消息时能够提供的服务质量标准,这三种服务质量从低到高依次是:At most once:至多一次。消息在传递时,最多会被送达一次。也就是说,没什么消原创 2022-02-24 21:48:35 · 9475 阅读 · 1 评论