Kakfa怎么保证消息的一致性

Posted m0_65277803

tags:

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

Kafka的也存在Leader和Follow节点,这样就会有一致性问题。

文章目录

一、kafka是什么?

二、kafka生产者和消费者如何保证消息不丢失和重复

1.kafka的ack机制

2.kafka的三种消费策略

3.什么是ISR

总结


一、kafka是什么?

Kafka是由Apache软件基金会开发的一个开源流处理平台,由ScalaJava编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。

二、kafka生产者和消费者如何保证消息不丢失和重复

1.kafka的ack机制

kafka对于数据的保证当我们可以容忍数据的丢失和必须保证数据的一致性中ACK机制一共有三种机制,分别是(0,-1,1)。

0:producer不会等待broker返回ack,broker出现故障时会丢失数据。

1:producer在发送消息时会等待数据对副本进行备份备份完成返回ack在副本同步完成后返回ack

当副本出现故障时会出现数据的丢失。

-1:producer发出消息对当partition中的leader和ISR中的follower全部同步完成后才会返回ack当ISR中没有follower时会出现数据丢失,当然这是一种极端的清空。

2.kafka的三种消费策略

At-most-once语义:kafka会最多发送一次,不会出现数据的重复但是会出现数据的丢失情况

At-last-once语义: kafka最少发送一次数据,不会出现数据的丢失但是会出现数据的重复

Exactly-Once语义:当At-last-once加上幂等性就可以做到精准一次,幂等性就是不论producer发送多少重复的消息Server端只会保存一次,避免数据的重复。

3.什么是ISR

Leader 维护了一个动态的 in-sync replica set (ISR:同步副本),ISR就可以理解为一个集合,这个集合里就是和Leader保持同步的follower,当follower没有将数据进行同步或者同步时间超时就会将这个follower踢出这个集合,当Leader发生故障就会在ISR中选举新的Leader。


总结


以上就是今天要讲的内容,本文仅仅简单介绍了kafak的一致性的保障。

以上是关于Kakfa怎么保证消息的一致性的主要内容,如果未能解决你的问题,请参考以下文章

Kafka 是如何保证数据可靠性和一致性

Kafka在高并发的情况下,如何避免消息丢失和消息重复?kafka消费怎么保证数据消费一次?数据的一致性和统一性?数据的完整性?

rabbitmq 怎么保证幂等性,数据一致性问题

聊聊 Kafka:Kafka 如何保证一致性

聊聊 Kafka:Kafka 如何保证一致性

聊聊 Kafka:Kafka 如何保证一致性