Kafka 是否会弄丢数据?
2025-01-11
NEW个对象
当然会
kafka分为生产者、服务端、消费端
生产者如何弄丢数据:
生产者已经发送了,但是服务端没有收到,或者收到了以后,没有同步给跟随者,然后宕机了。
如何解决:将参数acks=all即可,
leader收到消息后,会将消息同步到其它的跟随者。
如果发送失败一直重试即可。
服务端丢失消息:
主节点宕机,此时会再选一个新的主节点,如果没有同步,那么新的节点就没有该消息。
配置参数:
1、topic配置replication.factor > 2,代表每个 partition 必须有至少 2 个副本
2、服务端min.insync.replicas>1,至少有一个跟随者与leader保持联系。
3、生产端acks=all,数据必须写入每个replicas才算成功
4、生产端配置retries=MAX,只要写入失败就一直重试。
消费端丢失:
手动提交offset即可。
上一篇:sleep与wait的区别
相关文章
-
RocketMQ消息发送之广播模式
广播模式:在广播模式下,每条消息都会被推送到集群内所有注册过的客户端,保证消息至少被每台机器消费一次。
NEW个对象 2025-01-11
-
Kafka怎么保证消息只消费一次?
在分布式系统中,消息队列承担着系统解耦、流量削峰、异步处理等重要职责。Kafka作为目前最主流的消息中间件之一,被广泛应用于日志采集、订单系统、支付系统、大数据平台等场景。
NEW个对象 2026-06-11
-
Kafka 是否会弄丢数据?
当然会 kafka分为生产者、服务端、消费端
NEW个对象 2025-01-11
NEW个对象
JAVA是世界上最好的语言