系统架构设计知识梳理--分布式架构

CAP理论

C-一致性(一般指强一致性)

A-可用性(常见指标TP999)

P-分区容错性

其中一致性与可用性存在矛盾,需要开发者根据实际业务取舍

一致性解决方案--Raft算法

原理是将集群中所有服务归为三类角色,leader(领导者),follower(选举者),condidate(参选者),一个集群有且仅有一个leader,当leader正常工作时,系统只有leader和follower两个角色。

当leader宕机时,会有一部分follower转变成condidate竞选leader,其他follower会投票选出一台作为新leader

一致性的脑裂及相应的解决方案Lease原理

脑裂:当集群中leader宕机,其他follower选出新leader后,宕机的leader恢复了服务(可能还携带自己的follower回到集群),那此时集群就有两个leader并各自有自己的follower,这种类似一个大脑分裂成两部分的现象叫做脑裂

Lease:废弃Raft选举制,改为定时下发命令某服务器为leader,这样保证了有且只有一个leader,但风险是当leader宕机,在下一次指定leader命令下发前,系统处于无leader状态,服务不可用

数据库设计

你可能感兴趣的:(分布式,架构,系统架构)