加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
分布式面试知识点.txt 1.44 KB
一键复制 编辑 原始数据 按行查看 历史
hitty 提交于 2021-08-22 23:22 . add
1.ACID
Atomicity(原子性)
Consistency(一致性)
Isolation(隔离性)
Durability(持久性)
2. CAP
Consistency(一致性):所有节点在同一个时间数据完全一致
强一致性:关系型数据库,更新过的数据在后续的访问中都可以看见
弱一致性:后续的访问可能不能访问到
最终一致性:过了一段时间能访问到更新后的数据就行
Availability(可用性):服务在正常响应时间内一直可用
Partition tolerance(分区容错性):遇到某些节点故障的时候仍然可以满足一致性或者可用性的服务
为了满足P,需要C和A选一个
3. 2PC
4. 3PC
5. Raft
节点被分为Leader、Follower、Candidate三个类,Leader正常时,对所有的Follower进行同步,当Leader失效时,Follower变成Candidate投票选Leader
一个Raft集群只包含一个Leader节点,其余均为Follower节点;
客户端只允许和Leader节点进行交互;
Follower节点只允许从Leader节点接收写日志的请求(AppendEntries RPC);
Leader节点将客户端的请求发送给所有的Follower节点,只有至少一半的节点回复OK时,才可以将日志commit,并返回给用户成功;
Leader节点定期向所有的Follower节点发送心跳信息(不包含实际操作的 AppendEntries RPC),来告诉它们自己依然健康;
6. Paxos
7. 区块链的那些
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化