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

Kafka入门到起飞系列 - 副本机制,什么是副本因子呢?

我们一直在讲一个主题会有多个分区,这多个分区可以分布在一台服务器上,也可以分布在多台服务器上,还可以增加分区(Kafka目前只支持分区),这是Kafka提供的一种横向扩展的手段
比如我们创建了一个主题,给主题分配50个分区(这个数不大,_consumer_offset主题默认就50个分区),每个分区放在不同的broker上,那么我们要保证这50台服务器都不能宕机,一旦服务器宕机,分区数据就丢失了,保障服务不宕机这是很难的,所以Kafka给我们提供了副本机制

副本机制

  • 在Kafka中,将主题分成多个分区
  • 分区有两个角色,Leader分区和Follower分区
  • Kafka对外提供读写服务的是Leader分区
  • Follower分区负责从Leader分区同步消息,与Leader分区保持一致
  • Follower分区一定和Leader分区放在不同的服务器(broker)上,否则就没有意义了,一宕全宕
  • 当Leader分区宕机,会从Follower分区(ISR同步副本)选出一个转换成Leader分区继续对外提供服务

我们举个🌰,如下图;
![在这里插入图片描述](https://img-blog.csdnimg.cn/393b23d768194f80a9edd6b4e97df94f.png

  • Kafka 集群有三个节点(3个broker)
  • 主题Topic有3个分区Partition_0、Partition_1 、Partition_2,三个分区分别放在不同的broker上
  • 粉色为Leader分区,灰色为Follower分区
  • 每个分区有一个副本,也分别放在不同分区上,并且与其Leader分区放在不同的broker上
  • 上图灰色分区就是粉色分区的副本分区
  • Kafka 通过副本分区实现高可用
  • replication-factor 副本因子 = leader + follower replication-factor=3,则leader+2follower
  • Follower 分区像普通的Kafka消费者一样,消费来自Leader分区的消息,并将其持久化到自己的日志中,
  • Kafka允许Follower对日志数据拉取进行批处理

ISR - 同步副本

  • 节点与zookeeper保持通信,通过zookeeper的心跳机制,与zookeeper要保持一个长连接
  • 允许副本分区与Leader分区有一定消息的偏移
http://www.lryc.cn/news/97400.html

相关文章:

  • 2023年基准Kubernetes报告:6个K8s可靠性失误
  • 程序员面试系列,k8s常见面试题
  • docker版jxTMS使用指南:站点的调整
  • element ui input 深层循环v-model绑定默认数据删除不了的情况
  • GBDT的参数空间与超参数优化
  • 多线程练习——抽奖箱
  • RK3399平台开发系列讲解(内核调试篇)Valgrind 内存调试与性能分析
  • Windows 11的最新人工智能应用Windows Copilot面世!
  • Mac 预览(Preview)丢失PDF标注恢复
  • 4.5. 方法的四种类型
  • 四旋翼无人机使用教程
  • 优化 PHP 数据库查询性能
  • vue 使用stompjs websocket连接rabbitmq
  • com.android.ide.common.signing.KeytoolException:
  • leetcode 1870. Minimum Speed to Arrive on Time(准时到达的最小速度)
  • 本地非文字资源无法加载
  • Java电子招投标采购系统源码-适合于招标代理、政府采购、企业采购
  • 万向节死锁
  • 大数据课程D1——hadoop的初识
  • xml命名空间
  • 七、Kafka源码分析之网络通信
  • WEB安全测试通常要考虑的测试点
  • 关于uni.createInnerAudioContext()的duration音频长度获取不到问题
  • 使用rknn-toolkit2把YOLOV5部署到OK3588上
  • 【雕爷学编程】Arduino动手做(93)--- 0.96寸OLED液晶屏模块14
  • ffplay播放器剖析(5)----视频输出剖析
  • 21.2:象棋走马问题
  • 【CSS】手写 Tooltip 提示组件
  • MySQL DDL语法
  • Git 绑定账号 和clone