1. mongo单点问题
- 单点故障:节点出现故障时不能向业务提供正常服务,无法保证系统高可用。
- 数据丢失:一旦服务器磁盘损坏数据容易丢失。
2. 复制集介绍
- 由一组mongo实例组成,包括primary节点,多个secondary节点。
- primary负责写,secondary负责读,并从primary节点同步数据,保证所有节点数据一致。
- primary故障时,在secondary节点选举新的主节点。
2.1 PSS模式(官方推荐)
编辑
始终有两个副本集同步主节点数据,主节点挂掉后通过raft策略在从节点选出新主。旧主恢复后重新加入集群。
编辑
2.2 PSA模式
编辑
仲裁节点(Arbiter): 负责选举主节点、不存储数据,也不支持读写操作。挂掉不会影响业务,只影响选举。
FailOver: 提升从节点为主节点
编辑
话外音:
CAP理论: 分布式系统中一致性(consistency)、可用性(available)、分区容错(partition tolerance)只能满足其二,不能三者同时满足。
raft协议: 分布式系统中的共识算法,解决分布式系统中的一致性问题。
一致性:顺序一致性、线性一致性、因果一致性
Q: 副本集群的复制原理是啥?
Q: raft究竟咋选举的?咋复制日志的?mongo又做了哪些调整?
不要着急,容我慢慢将来...
没有行动力,世界只是个概念;行动力:把模糊的东西具体化。