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即可。
上一篇:无
相关文章
-
Kafka 如何保证消息的顺序性?
Consumer ,拉取到消息后,写到 N 个内存 queue,具有相同 key 的数据都到同一个内存 queue 。然后,对于 N 个线程,每个线程分别消费一个内存 queue 即可,这样就能保证顺序性。
NEW个对象 2025-01-11
-
RocketMQ消息发送之广播模式
广播模式:在广播模式下,每条消息都会被推送到集群内所有注册过的客户端,保证消息至少被每台机器消费一次。
NEW个对象 2025-01-11
-
Kafka 是否会弄丢数据?
当然会 kafka分为生产者、服务端、消费端
NEW个对象 2025-01-11