kafka 消息可靠性

Posted newlangwen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kafka 消息可靠性相关的知识,希望对你有一定的参考价值。

1.消息发送机制

Kafka的ack机制。

 

当producer向leader发送数据时,可以通过request.required.acks参数来设置数据可靠性的级别:

 

   1(默认):这意味着producer在ISR中的leader已成功收到的数据并得到确认后发送下一条message。如果leader宕机了,则会丢失数据。

 

   0:这意味着producer无需等待来自broker的确认而继续发送下一批消息。这种情况下数据传输效率最高,但是数据可靠性确是最低的。

 

   -1:producer需要等待ISR中的所有follower都确认接收到数据后才算一次发送完成,可靠性最高。但是这样也不能保证数据不丢失,比如当ISR中只有leader时,这样就变成了acks=1的情况。

 

2. 消息存储可靠性

    副本机制

    技术图片

 

以上是关于kafka 消息可靠性的主要内容,如果未能解决你的问题,请参考以下文章

kafka消息的可靠性

如何保证kafka生产者发送消息的可靠性

为什么消息队列Kafka的数据可靠性高达99.999999%?

kafka 消息可靠性

RabbitMQ 和 Kafka 的消息可靠性对比

Kafka的消息可靠性(防止消息丢失)