第六周课后总结
1、分布式关系数据库
主从复制
通常是 1 主 N 从,所有的写操作都通过主结点完成,读操作可以分摊到从结点,从结点的数据通过 binlog 同步到主结点。
优点:分摊负载、专机专用、便于冷备、高可用
主主复制
多个主不能同时写入,没有增加写的并发能力
2、一致性算法 Paxos
Paxos 将系统中的角色分为提议者 (Proposer),决策者 (Acceptor),和最终决策学习者 (Learner):
Proposer: 提出提案 (Proposal)。Proposal 信息包括提案编号 (Proposal ID) 和提议的值 (Value)。
Acceptor:参与决策,回应 Proposers 的提案。收到 Proposal 后可以接受提案,若 Proposal 获得多数 Acceptors 的接受,则称该 Proposal 被批准。
Learner:不参与决策,从 Proposers/Acceptors 学习最新达成一致的提案(Value)。
3、搜索引擎
节点(Node):一个运行的 Elasticearch 实例,一般是一台机器上的一个进程。
索引(Index):包括配置信息 mapping 和倒排正排数据文件,一个索引的数据文件可能会分布于一台机器,也有可能分布于多台机器。索引的另外一层意思是倒排索引文件。
分片(Shard):为了支持更大量的数据,索引一般会按某个维度分成多个部分,每个部分就是一个分片,分片被节点(Node)管理。一个节点(Node)一般会管理多个分片,这些分片可能是属于同一份索引,也有可能属于不同索引,但是为了可靠性和可用性,同一个索引的分片尽量会分布在不同节点(Node)上。分片有两种,主分片和副本分片。
副本(Replica):同一个分片(Shard)的备份数据,一个分片可能会有 0 个或多个副本,这些副本中的数据保证强一致或最终一致。
评论