首页 > 其他分享 >Kafka消费端如何理解”精确一次性消费“

Kafka消费端如何理解”精确一次性消费“

时间:2024-03-14 22:01:14浏览次数:24  
标签:消费 一次性 数据库 写入 偏移量 Kafka 数据

       精确一次性消费是指数据被消费后写入数据库的精确一次性;只要保证从Kafka读取数据之后写入数据库不丢失且不重复就可以。

        消费流程:消费端在消费到Kafka数据之后把消费到的数据进行业务处理后写入到数据库,写入成功之后再保存这次消费数据的偏移量。这个流程就可以保证消费到的Kafka数据写入到数据库不会丢失,也就是满足至少一次性消费,设计写入数据库中的唯一key来唯一标识每次写入数据库的记录,当key相同时数据被覆盖或者被抛弃,这样就保证数据库记录的不重复。

        补充:消费端写数据库时的精准一次性:消费者读取Kafka数据,然后消费者处理读取到的数据,以及最后向数据库写入处理后的结果。一旦任务(在任意环节)因为各种原因而失败那么任务就只能从头开始,从而重新读取Kafka的数据而为了避免失败后的任务不知道从Kafka的哪个位置开始读取数据,于是在消费端就需要记录每次消费成功之后也即是写入数据库成功后Kafka数据的偏移量;这样就算任务重启也知道从Kafka的哪个地方开始消费,但会有bug就是在一些特殊情况下数据消费完写数据库成功了但Kafka偏移量保存却失败了,或者Kafka的偏移量保存成功了而实际消费到的Kafka数据却并没有成功写入到数据库里。

标签:消费,一次性,数据库,写入,偏移量,Kafka,数据
From: https://blog.csdn.net/2301_79551573/article/details/136663976

相关文章

  • 多线程(代码案例: 单例模式, 阻塞队列, 生产者消费者模型,定时器)
    设计模式是什么类似于棋谱一样的东西计算机圈子里的大佬为了能让小菜鸡的代码不要写的太差针对一些典型的场景,给出了一些典型的解决方案这样小菜鸡们可以根据这些方案(ACM里面叫板子,象棋五子棋里叫棋谱,咱这里叫设计模式),略加修改,这样代码再差也差不到哪里去......
  • HS6621Cx 一款低功耗蓝牙SoC芯片 应用于键盘、鼠标和遥控器消费类产品
    HS6621Cx是一款功耗优化的真正片上系统(SOC)解决方案,适用于低功耗蓝牙和专有2.4GHz应用。它集成了高性能、低功耗射频收发器,具有蓝牙基带和丰富的外设IO扩展。HS6621Cx还集成了电源管理功能,可提供高效的电源管理。它面向2.4GHz蓝牙低功耗系统、专有2.4GHz系统、人机接口设备(键盘......
  • Android14音频进阶:生产者与消费者模型(六十二)
    简介:CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!优质专栏:Audio工程师进阶系列【原创干货持续更新中……】......
  • Python实战:元组一次性数据的处理利器
    Python元组是一种不可变的序列类型,非常适合用于存储不应该被修改的数据。本文将深入探讨Python元组在处理一次性数据方面的优势和应用场景,包括元组的定义、操作、函数和方法,以及如何利用元组提高代码的可读性和性能。1.Python元组简介Python元组(tuple)是一种内置的数据类......
  • kafka需要zookeeper吗
    kafka是否需要zookeeper的支持Kafka在某些情况下确实需要Zookeeper。Zookeeper是Kafka的核心组件之一,负责集群元数据的管理和控制器的选举等任务。在Kafka集群中,Zookeeper存储和管理着Kafka的元数据信息和配置信息,包括broker的IP地址、端口号、主题分区的分配方案等。此外,Zoo......
  • 一次解决Docker内java变量原因导致执行Kafka查询消费报错经历
    引言企业内对某设备小集群进行状态巡检(包括内存、磁盘、CPU、集群状态、集群Docker内接口状态、服务状态、Kafka消费情况监控)。由于需要将状态的结果通过命令展示在命令行中,且查询命令较多,于是打算脚本解决。在写脚本时,查询内容包括了宿主机和docker内的服务都需......
  • “田由甲” - Kafka重复消费线上问题暴雷
    Kafka作为一款高性能、分布式的消息队列系统,在大数据领域被广泛应用。然而,在使用Kafka时,重复消费问题是一个常见的挑战,可能会对系统的数据一致性和业务逻辑造成影响。我知道Kafka这个名词时还是在2019年刚工作的时候,但那时候公司使用的消息队列体量很小,所以只用了activeMq,我......
  • kafka查看未被消费的消息
    $kubectlexec-itgitee-kafka-0-ngiteebashunsetJMX_PORT$kafka-consumer-groups.sh--bootstrap-serverlocalhost:9092--list0872ef76ddeb5a01dcca817aa564e39c5LatchGroup-d9c004d9-9568-4c3c-83c4-1dd61de25208CodeProjectGroup-50782662-ae8f-49e3-a2ed-......
  • Kafka属性concurrency的作用
     concurrency属性作用concurrency默认是1;container.setConcurrency(3)表示创建三个KafkaMessageListenerContainer实例。一个KafkaMessageListenerContainer实例分配一个分区进行消费;如果设置为1的情况下,这一个实例消费Topic的所有分区;如果设置多个,那么会平均分配所有......
  • 关于debezium。kafka和sqlserver的数据同步
    直接在官网下载sqlserver的插件。DebeziumReleaseSeries2.5 下载完后将这个插件解压到linux里面。路径其实是无所谓的,我在kafka目录下,创建了一个connect目录,专门放置这些插件 然后去kafka的config目录下,修改connect-distributed.properties文件主要修改这几个点:kafka......