最新 | 最热门 | 最高评价

+0  TiDB 在 Raft 成员变更上踩的坑

Tag: distributed | raft | paxos | consensus | membership | tidb
张炎泼(xp) 发于 2021年01月05日 08:00 | 点击: 79 | 展开摘要
问题

上次跟好基 黄东旭 在咖啡厅撩天的时候谈笑风生地探讨了一个 TiDB 使用 Raft 时遇到的问题:

TiKV 层的 Raft 实现, 使用的是 Raft 单步变更 算法(每次添加或删除一个节点),
例如副本由 abc 变成 bcd 过程中,
先加入 d, 变成 abcd , 再去掉 a 变成最终配置 bcd.

这中间经历的4节点的状态 abcd, 有可能在出现二分的网络割裂(ad | bc)时导致整个集群无法选出leader.
这种网络割裂在跨机房部署时容易出现

查看全文: http://www.udpwork.com/item/17475.html

+0  可靠分布式系统-paxos的直观解释

Tag: algo | distributed | consensus | fault-tolerant | quorum | replication | paxos | 分布式 | 一致性 | 容错 | 多数派
张炎泼(xp) 发于 2020年06月01日 08:00 | 点击: 81 | 展开摘要
前言

paxos是什么?

在分布式系统中保证多副本数据强一致的算法.

paxos有啥用?

没有paxos的一堆机器, 叫做分布式;

有paxos协同的一堆机器, 叫分布式系统.

Google Chubby的作者Mike Burrows说过:

这个世界上只有一种一致性算法,那就是Paxos …

其他一致性算法, 都可以看做paxos在实现中的变体和扩展.

另外一个经常被提及的分布式算法是raft, raft的贡献在于把一致性算法落地.
因为 Leslie

查看全文: http://www.udpwork.com/item/17480.html

+0  多IDC的数据分布设计(二)

Tag: data | consensus | dynamo | paxos | PNUTS
Tim 发于 2010年03月25日 02:18 | 点击: 2659 | 展开摘要
在前文《多IDC的数据分布设计(一)》中介绍了多IDC数据一致性的几种实现原理,遗憾的是,目前虽然有不少分布式产品,但几乎都没有开源的产品专门针对IDC来优化。本文从实践的角度分析各种方法优缺点。

背景资料 Latency差异

Jeff Dean提到不同数据访问方式latency差异

Numbers Everyone Should Know
L1 cache reference                           0.5 ns
Branch mispre

查看全文: http://www.udpwork.com/item/490.html

+0  多IDC的数据分布设计(一)

Tag: 分布式 | 2PC | 3PC | consensus | paxos | Three-phase commit | Two-phase commit
Tim 发于 2010年02月02日 21:04 | 点击: 3342 | 展开摘要
上个月跟某个朋友谈及多IDC数据同时读写访问的问题(tweet),当时觉得有不少解决方案,但觉得思路还不够清晰。最近看了Google App Engine工程师Ryan Barrett介绍GAE后端数据服务的演讲稿Transactions Across Datacenters(视频),用Ryan的方法来分析这个问题后就豁然开朗。

按Ryan的方法,多IDC实现有以下几种思路。

一、Master/slave

这个是多机房数据访问最常用的方案,一般的需求用此方案即可。因此大

查看全文: http://www.udpwork.com/item/204.html
|<<<1>>>| 一共1页, 4条记录