当前位置: 首页 > news >正文

kafka数据同步一致性问题

Kafka通过‌ISR机制‌和‌HW(高水位)设计‌解决数据同步一致性问题:

一、ISR 动态同步机制

  1. 副本同步流程‌
  • Leader 接收生产者消息后,同步给 ISR(In-Sync Replicas)列表中的副本‌
  • 若 Follower 同步延迟超过
    replica.lag.time.max.ms(默认 30秒),则移出 ISR 列表
  • 关键配置‌:
min.insync.replicas=2  # 至少 2 个副本确认写入
unclean.leader.election.enable=false  # 禁止非 ISR 副本成为 Leader
  1. 数据一致性保障‌
  • 仅当消息被所有 ISR 副本持久化后,生产者才会收到确认(acks=all)
  • 若 Leader 宕机,新 Leader 从 ISR选举,确保数据完整‌

二、HW(高水位线)机制

  1. 作用原理‌
  • HW 表示所有副本已同步的最小消息偏移量,消费者只能消费 ≤ HW 的消息。
  • 新 Leader 的 HW 取原 Leader 和Follower 的 LEO(Log End Offset)最小值。
  1. 示例场景‌
  • 若 Leader 宕机时,Follower1 同步到 offset=4,Follower2 同步到 offset=2,则新HW=2,仅保证 offset≤2 的消息可被消费。

三、Leader Epoch 防数据丢失

  • 记录 Leader 的任期和最后提交的 offset,新 Leader 上任时对比历史数据,截断未同步的消息 避免因 HW更新延迟导致的数据不一致问题

四、生产级配置模板(TODO)

#生产者
acks=all
enable.idempotence=true
#Broker
replication.factor=3
min.insync.replicas=2
unclean.leader.election.enable=false

五、典型问题解决方案

问题‌根因‌解决措施‌
副本不同步Follower 网络延迟或宕机检查网络,调整 replica.lag.time.max.ms
消费者看到重复消息生产者重试未去重启用幂等性(enable.idempotence=true)
新 Leader 数据丢失非 ISR 副本被选为 Leader设置 unclean.leader.election.enable=false

‌ ‌ ‌

http://www.dtcms.com/a/532394.html

相关文章:

  • 淘宝网站的建设内容网站建设的平台
  • Linux进程间通信:管道与System V IPC的全解析
  • 技术选型对比:几种主流方案获取淘宝商品实时数据的优劣分析
  • 想象力网站建设深圳市房地产信息系统平台
  • 让 Codex 用 React 生成一个博客首页
  • Kafka的概念
  • 开发实战 - ego商城 - 补充:小程序性能优化
  • 如何截取PDF内容为图片
  • 智慧景区导览小程序
  • 58同城企业网站怎么做的wordpress 评论设计
  • 珠海建站模板怎么做多语言网站
  • 致敬哈耶克,让灯火照亮个人前行的道路
  • 【LeetCode100】--- 96.只出现一次的数字【思维导图+复习回顾】
  • 网络编程Socket套接字
  • 算法基础篇(9)倍增与离散化
  • 搓了一个Deepin15的兼容环境(也支持Deepin20/23)
  • C++ - C++11拓展
  • php 装修网站柳州搜索引擎营销平台
  • Householder变换:线性代数中的镜像反射器
  • 【AI智能体】Coze 打造励志图文智能体应用实战操作详解
  • 网站添加友情链接网络推广营销工具
  • 做网站怎么添加关键词网站开发公司报价单模板
  • 山西太原做企业网站建设的公司松原建设局网站
  • HTTP的get请求和post请求的联系和区别
  • 004-Spring AI Alibaba Chat Memory 功能完整案例
  • 用模板网站做h5宣传页多少钱鄂尔多斯seo
  • 人工智能数学
  • Jenkins 从0基础到有点基础——如何安装
  • 我在高职教STM32(新06)——蜂鸣器鸣响实验
  • STM32实现低功耗管理使用配置知识梳理笔记