集群状态为什么该交给 etcd:用 Raft 从根上消除脑裂

Posted on 一 12 10月 2026 in Tech • Tagged with tech, etcd, raft, split-brain, network-partition, consensus, leader-election, distributed-lock, high-availability, architecture

很多团队用 Redis 或 MySQL 存"谁是主、锁在谁手上"这类集群状态,网络一分区就两边各自称主,出现脑裂。根因不是代码写得烂,是这两种库的复制模型本就不保证"分区的少数派会主动退位"。etcd 底层是 Raft,用多数派(quorum)把这件事写进了协议:拿不到多数派票就当不了主、提交不了写,少数派自动失效。这篇讲清楚问题、根因和解法——etcd 的拓扑怎么摆、选主/锁/配置下发怎么用、生产上的最佳实践,以及一串真能让你半夜被叫起来的坑。


Continue reading

从容灾到异地双活:数据层怎么选,以 Redis 为例细讲

Posted on 日 11 10月 2026 in Tech • Tagged with tech, redis, valkey, newsql, tidb, etcd, cassandra, mysql, architecture, high-availability, disaster-recovery, cap

很多人一上来就问"异地双活用什么库",顺序反了。先得想清楚容灾要做到什么程度(RTO/RPO),再决定要不要双活、双活怎么分层,最后才落到数据层选型。这篇按这个顺序走一遍:先讲容灾的两把尺子和五档常用做法,再讲双活为什么只是其中一档、难在分层,最后以 Redis 为例把数据层选型讲透——拓扑、故障切换、双向复制、Valkey 差异,一样不落。


Continue reading