美文网首页
Kafka怎么保证消息不丢失?

Kafka怎么保证消息不丢失?

作者: jecyhw | 来源:发表于2024-06-18 10:29 被阅读0次

哪些情况会发生消息丢失

从生产端到消费端都有可能发生消息丢失的情况,也就是在Producer生产者、Broker服务端、Consumer消费者都会发生这个消息丢失

怎么保证消息不丢失

Producer生产者

  1. 生产者会有自己的应答确认配置acks:acks=0代表无需任何响应,只管发不管发送是否成功,最容易丢失数据,性能最好;acks=1(生产者默认配置)代表服务端leader收到消息无需等副本同步之后立即响应,如果leader挂了就会丢失数据;ack=1代表服务端leader收到消息并且ISR副本收到消息之后再响应,可以保证消息不丢失,但是性能最差。
  2. 生产者发送失败会有重试机制

Broker服务端

  1. 消息持久化:Broker服务端收到消息之后会持久化到磁盘,消息会先写入page cache,然后定期刷盘,kafka不支持同步刷盘
  2. 副本复制机制:副本会从leader复制消息,当leader挂掉之后,会从副本中选出一个新的leader

Consumer消费者

Consumer消费者只可能是消费失败但是仍然提交了offset才会导致消息丢失。可以把消费者的自动提交关闭,手动进行提交。另外对程序进行异常捕获,发生异常可以重试消费或者人工兜底等手段避免消息丢失

相关文章

  • 深入理解Kafka(八) 消息可靠性

    下面我们来介绍下Kafka怎么保证消息的可靠性,在消息中间件里,有一个非常重要的问题就是怎么保证消息不丢失,而这就...

  • 智齿科技

    Kafka能不能保证数据不丢失?怎么保证数据不丢失的? MySQL的存储引擎? innodb建表的时候如果不指定主...

  • kafka事务

    2018-12-03 Kafka消息保证生产的信息不丢失和重复消费问题 1)使用同步模式的时候,有3种状态保证消息...

  • Kafka保证消息不丢失不重复

    简单总结:消费端重复消费:建立去重表消费端丢失数据:关闭自动提交offset,处理完之后受到移位,enable.a...

  • kafka broker如何保证消息不丢失

    kafka中的HW、LEO、LSO、LW等分别代表什么? ​ ISR与HW和LEO也有紧密的关系,HW是High ...

  • Kafka实际案例问题

    kafka consumer防止数据丢失 Kafka学习之怎么保证不丢,不重复消费数据 1 消费者pull数据时,...

  • 2019-04-26

    怎么保证数据不丢失,如果数据库挂了。 怎么判断一条sql语句有没有用索引 spring cloud 消息怎么保证不丢失

  • Kafka消息中间件保证消息不丢失

    大型互联网公司一般都会要求消息传递最大限度的不丢失,比如用户服务给代金券服务发送一个消息,如果消息丢失会造成用户未...

  • kafka无消息丢失配置

    kafka在配置不合理的情况,会丢失消息,当业务的需求不允许消息丢失的场景,就需要配置kafka的一些参数来保证消...

  • Kafka ——如何保证消息不会丢失

    前言 Kafka 提供了数据高可靠的特性,但是如果使用不当,你可能无法享受到这一特性,今天我们就来看看如何正确的使...

网友评论

      本文标题:Kafka怎么保证消息不丢失?

      本文链接:https://www.haomeiwen.com/subject/bdjfcjtx.html