🌏【架构师指南】分布式技术知识点总结(下)
每日一句
分布式系统设计策略
心跳检测机制
周期检测心跳机制
Server端每间隔 t 秒向Node集群发起监测请求,设定超时时间,如果超过超时时间,则判断“死亡”。
累计失效检测机制
在周期检测心跳机制的基础上,统计一定周期内节点的返回情况(包括超时及正确返回),以此计算节点的“死亡”概率。
高可用(High Availability)
主备(Master-SLave) 互备(Multi-Master) 集群(Cluster)模式
高可用HA下"脑裂问题"
【脑裂预防方案】
共享存储fencing:确保只有一个Master往共享存储中写数据; 客户端fencing:确保只有一个Master可以响应客户端的请求; Slave fencing:确保只有一个Master可以向Slave下发命令。
负载均衡
轮询(次数hash):默认方式,每个请求会按时间顺序逐一分配到不同的后端服务器 weight:权重方式,在轮询策略的基础上指定轮询的几率,权重越大,接受请求越多 ip_hash:依据ip分配方式,相同的客户端的请求一直发送到相同的服务器,以保证session会话 least_conn:最少连接方式,把请求转发给连接数较少的后端服务器 fair(第三方):响应时间方式,按照服务器端的响应时间来分配请求,响应时间短的优先分配 url_hash(第三方):依据URL分配方式,按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器 Random随机机制。