知识卡片

数据分布算法的两种流派

专业/工作 · 237.j

内容

分布式存储定位数据位置的方式分两大流派:一种靠集中式元数据服务器直接查询(如 HDFS 用 NameNode 记录每个文件的 layout 信息),另一种靠客户端和服务器各自独立计算得出(如一致性哈希 DHT)。CRUSH 属于后者。计算式的好处是不需要维护和查询一份随集群增长而膨胀的位置索引,天然去中心化、没有单点瓶颈;代价是”计算规则”本身要足够稳定和一致——一旦客户端和服务端算出的结果不一致,整个寻址就会错乱,这也是为什么 [[Monitor靠Paxos维护ClusterMap一致性|集群拓扑信息]]必须强一致地分发给所有参与计算的节点。

参考来源

《Ceph源码分析》第4章《CRUSH数据分布算法》