Leader 不参与读请求?etcd 线性读实现揭秘

在很多分布式系统中,读请求通常都会转发给 Leader。 原因很简单:只有 Leader 才知道哪些日志已经提交(committed),哪些数据是最新的。 但 etcd 允许 Follower 节点直接处理线性一致读(Linearizable Read)。 ...

2026-06-22 · xhy

当 leader 被隔离: etcd 网络分区深度分析

etcd-raft 节点在 follow,leader 和 candidate 状态流转。状态转移图如下: 图片摘自 https://raft.github.io/raft.pdf 正常情况下,各节点在自己的角色里好好干活。但是如果出现异常,比如网络分区后,各个节点会做什么呢? ...

2026-06-10 · xhy

Kubernetes:kube-apiserver 和 etcd 的交互

前言 上几篇文章介绍了 kubernetes 的核心数据结构 scheme 和 Kubernetes:kube-apiserver 的启动流程。在启动流程篇中重点关注的是启动的核心逻辑,并没有关注 kube-apiserver 和外部组件的交互。 而交互是非常必要的,其定义了边界和依赖。 ...

2023-11-05 · xhy