帮忙么网 > Kafka > 当前页面

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 如何保证消息的顺序性?

相关文章

  • Kafka 如何保证消息的顺序性?

    Consumer ,拉取到消息后,写到 N 个内存 queue,具有相同 key 的数据都到同一个内存 queue 。然后,对于 N 个线程,每个线程分别消费一个内存 queue 即可,这样就能保证顺序性。

    NEW个对象 2025-01-11

  • RocketMQ消息发送之广播模式

    广播模式:在广播模式下,每条消息都会被推送到集群内所有注册过的客户端,保证消息至少被每台机器消费一次。

    NEW个对象 2025-01-11

  • Kafka 是否会弄丢数据?

    当然会 kafka分为生产者、服务端、消费端

    NEW个对象 2025-01-11

推荐文章