|NO.Z.00050|——————————|BigDataEnd|——|Hadoop&kafka.V35|——|kafka.v35|副本机制|

一、副本机制

### --- Kafka在一定数量的服务器上对主题分区进行复制。

~~~     # 当集群中的一个broker宕机后系统可以自动故障转移到其他可用的副本上,不会造成数据丢失。
~~~     # --replication-factor 3 1leader+2follower
~~~     将复制因子为1的未复制主题称为复制主题。
~~~     主题的分区是复制的最小单元。
~~~     在非故障情况下,Kafka中的每个分区都有一个Leader副本和零个或多个Follower副本。
~~~     包括Leader副本在内的副本总数构成复制因子。
~~~     所有读取和写入都由Leader副本负责。
~~~     通常,分区比broker多,并且Leader分区在broker之间平均分配。
### --- Follower分区像普通的Kafka消费者一样,

~~~     消费来自Leader分区的消息,并将其持久化到自己的日志中。
~~~     允许Follower对日志条目拉取进行批处理。
### --- 同步节点定义:

~~~     节点必须能够维持与ZooKeeper的会话(通过ZooKeeper的心跳机制)
~~~     对于Follower副本分区,它复制在Leader分区上的写入,并且不要延迟太多
~~~     Kafka提供的保证是,只要有至少一个同步副本处于活动状态,提交的消息就不会丢失。
### --- 宕机如何恢复

~~~     # 少部分副本宕机
~~~     当leader宕机了,会从follower选择一个作为leader。
~~~     当宕机的重新恢复时,会把之前commit的数据清空,重新从leader里pull数据。
~~~     # 全部副本宕机

~~~     当全部副本宕机了有两种恢复方式
~~~     等待ISR中的一个恢复后,并选它作为leader。(等待时间较长,降低可用性)
~~~     选择第一个恢复的副本作为新的leader,无论是否在ISR中。
~~~     (并未包含之前leader commit的数据,因此造成数据丢失)

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

posted on   yanqi_vip  阅读(19)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示