当前位置:   article > 正文

kafka怎么保证不丢失消息和不重复消费消息_kafka如何保证不重复消费又不丢失数据

kafka如何保证不重复消费又不丢失数据

kafka学习目录:kafka目录


文章目录

Kafka中怎么保证消息不会丢失和不重复消费?

从两个方面分析:消费推送和消息消费。也就是生产者和消费者两方面。

首先我们需要知道topic的概念。

  • Topic : 话题,可以理解为一个队列, 生产者和消费者面向的都是一个 topic。
  • 一个topic又有多个partition,而每个分区都有若干个副本:一个 leader 和若干个 follower。

生产者在推送消息时,会确定topic和topic中的那个partition。

一个消费者组内每个消费者负责消费 一个topic中不同分区的数据,同一个分区同时只能由一个组内消费者消费

一、生产者推送消息时怎么保证消息不丢失和不重复

对于生产者,在推送消息的时候,有以下几种方式来确定topic、topic中的partition。

将 producer 发送的数据封装成一个 ProducerRecord 对象。

img

  1. 指明 partition 的情况下,直接将指明的值直接作为 partiton 值;
  2. 没有指明 partition 值但有 key 的情况下,将 key 的 hash 值与 topic 的 partition 数进行取余得到 partition 值;
  3. 既没有 partition 值又没有 key 值的情况下,第一次调用时随机生成一个整数(后面每次调用在这个整数上自增),将这个值与 topic 可用的 part
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/485485
推荐阅读
相关标签
  

闽ICP备14008679号