mysql - 为什么 zk/etcd 而不是 rdbms 用于集群协调

标签 mysql postgresql rdbms apache-zookeeper etcd

在集群协调方面,zk/etcd 相对于 rdbms(如 mysql/pgsql)有何优势?

HA:现在的 rdbms 具有带见证的同步透明故障转移。

分布式系统可以更好地横向扩展,但我认为 hadoop/kubernetes 等东西的集群协调没有那么大的吞吐量或数据大小要求。

那么嗯... zk/etcd 为集群协调提供了哪些传统 rdbms 无法实现的功能?

最佳答案

自动领导选举是原因。 etcd 和其他共识系统实现共识算法,如 Raft或 PAXOS,以便在面对单个机器故障时,一组机器可以在没有人为干预的情况下找出下一步该做什么。人们将其用作实现安全分布式锁的一种方式,这种锁不受机器故障和裂脑情况的影响。

下面是 etcd 从包括领导者在内的两台机器故障中恢复的动画:https://speakerdeck.com/philips/coreos-plus-kubernetes-at-all-things-open?slide=55

关于mysql - 为什么 zk/etcd 而不是 rdbms 用于集群协调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32806161/

相关文章:

mysql - 如何使用默认语言查询表中的多语言记录

sql - 垂直到水平?

MySQL:使用事务处理嵌套存储过程中的回滚

mysql - cakephp 在查找中比较数据库字段

mysql - MySQL事务中的多行多值更新

mysql - 如何检查 MySQL 查询是否正在使用覆盖索引?

SQLGrammer异常 : could not execute statement

mysql - 如何获取IMPORT FOREIGN SCHEMA生成的SQL?

postgresql - PostgreSQL 中用户交互(回复、提及)返回时间

mysql - 创建文件夹/文件结构