Kafka是如何保证消息不丢失

简介: Kafka是如何保证消息不丢失

这个保证机制很多,在发送消息到消费者接收消息,在每个阶段都有可能会丢失消息,所以我们解决的话也是从多个方面考虑

第一个是生产者发送消息的时候,可以使用异步回调发送,如果消息发送失败,我们可以通过回调获取失败后的消息信息,可以考虑重试或记录日志,后边再做补偿都是可以的。同时在生产者这边还可以设置消息重试,有的时候是由于网络抖动的原因导致发送不成功,就可以使用重试机制来解决

第二个在broker中消息有可能会丢失,我们可以通过kafka的复制机制来确保消息不丢失,在生产者发送消息的时候,可以设置一个acks,就是确认机制。我们可以设置参数为all,这样的话,当生产者发送消息到了分区之后,不仅仅只在leader分区保存确认,在follwer分区也会保存确认,只有当所有的副本都保存确认以后才算是成功发送了消息,所以,这样设置就很大程度了保证了消息不会在broker丢失

第三个有可能是在消费者端丢失消息,kafka消费消息都是按照offset进行标记消费的,消费者默认是自动按期提交已经消费的偏移量,默认是每隔5s提交一次,如果出现重平衡的情况,可能会重复消费或丢失数据。我们一般都会禁用掉自动提价偏移量,改为手动提交,当消费成功以后再报告给broker消费的位置,这样就可以避免消息丢失和重复消费了

目录
相关文章
|
9月前
|
消息中间件 存储 安全
聊聊 Kafka:Kafka 如何保证可靠性
聊聊 Kafka:Kafka 如何保证可靠性
461 0
|
14天前
|
消息中间件 存储 Kafka
Kafka 如何保证消息顺序及其实现示例
Kafka 如何保证消息顺序及其实现示例
18 0
|
1月前
|
消息中间件 Kafka
【Kafka】kafka 分布式下,如何保证消息的顺序消费?
【4月更文挑战第7天】【Kafka】kafka 分布式下,如何保证消息的顺序消费?
|
1月前
|
消息中间件 存储 NoSQL
[Kafka 常见面试题]如何保证消息的不重复不丢失
[Kafka 常见面试题]如何保证消息的不重复不丢失
153 0
|
6月前
|
消息中间件 算法 Kafka
Kafka 如何保证消息消费的全局顺序性
Kafka 如何保证消息消费的全局顺序性
|
9月前
|
消息中间件 缓存 Java
聊聊 Kafka:Kafka 如何保证一致性
聊聊 Kafka:Kafka 如何保证一致性
488 0
|
10月前
|
消息中间件 Kafka 程序员
美团面试真题,如何保证Kafka消息不丢失?
一位工作了5年的小伙伴去美团面试以后,跟我反馈说,被问到一个“如何保证Kafka消息不丢失?”的问题,不知道如何回答。其实,这道题真的很基础。 很多小伙伴可能只会回答说,消息要持久化,添加消息确认机制。如果,你只是这样回答,那就和普通的程序员没什么区别。要想让面试官感觉你确实有不一样的理解,就应该从多个方面更全面地来分析和回答这个问题。今天,我来给大家讲明白。
101 0
|
10月前
|
消息中间件 缓存 Kafka
【MQ】Kafka如何保证幂等性
【MQ】Kafka如何保证幂等性
274 0
|
10月前
|
消息中间件 存储 缓存
【MQ】Kafka如何保证消息不丢失
【MQ】Kafka如何保证消息不丢失
202 0
|
11月前
|
消息中间件 分布式计算 Kafka
Kafka如何保证消费的顺序性 ?
Kafka 通过以下机制来保证消费的顺序性
2716 0

热门文章

最新文章