Kafka - Kafka 副本
易错点
在kafka中:
- 每个主题可以有多个分区,
- 每个分区又可以有多个副本。
这多个副本中,只有一个是leader,而其他的都是follower副本。仅有leader副本可以对外提供服务。
多个follower副本通常存放在和leader副本不同的broker中。通过这样的机制实现了高可用,当某台机器挂掉后,其他follower副本也能迅速”转正“,开始对外提供服务。
一、副本基本信息
二、Leader选举流程
三、Leader 和 Follower 故障处理细节
3.1 Follower故障
3.2 Leader故障
四、分区副本分配
均匀分布,避免leader都分布在一个broker上。
如果想手动调整副本分配情况,参考链接:https://achang.blog.csdn.net/article/details/123054073
过程和上线/下线 broker很类似。
五、Leader Partition自动平衡
根据下方的例子,有些时候哪怕不符合“平衡”的定义,leader partition分布的也很均衡。
因此,在生产环境不建议开启自动平衡功能auto.leader.rebalance.enable,因为性能会耗损。
如果真的要开启,那么把leader.imbalance.per.broker.percentage设置的大一些,以免频繁出发再平衡。
六、增加副本因子
不能通过命令行,只能通过执行json文件的方式。
参考链接:https://achang.blog.csdn.net/article/details/123054073
过程和上线/下线 broker很类似。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?