zk/etcd 相对于 mysql/pgsql 等 rdbms 在集群协调方面有什么优势?
HA:如今的 rdbms 具有带见证的同步透明故障转移。
分布式系统可以更好地水平扩展,但我不认为像 hadoop/kubernetes/etc 这样的集群协调有那么大的吞吐量或数据大小的要求。
所以呃... zk/etcd 为集群协调提供了哪些传统 rdbms 无法实现的功能?
zk/etcd 相对于 mysql/pgsql 等 rdbms 在集群协调方面有什么优势?
HA:如今的 rdbms 具有带见证的同步透明故障转移。
分布式系统可以更好地水平扩展,但我不认为像 hadoop/kubernetes/etc 这样的集群协调有那么大的吞吐量或数据大小的要求。
所以呃... zk/etcd 为集群协调提供了哪些传统 rdbms 无法实现的功能?
自动领导选举是原因。etcd
和其他共识系统实现了Raft或 PAXOS 等共识算法,这样在面对单个机器故障时,一组机器可以在没有人为干预的情况下弄清楚下一步该做什么。人们将其用作实现不受机器故障和脑裂情况影响的安全分布式锁的一种方式。
这是 etcd 从包括领导者在内的两台机器故障中恢复的动画:https ://speakerdeck.com/philips/coreos-plus-kubernetes-at-all-things-open?slide=55