负载均衡组件 分布式CAP理论
- 2019-06-11 23:28:00
- admin
- 原创 1838
一、负载均衡组件
1、keepalived使用虚拟路由器冗余协议VRRP进行主备动态切换,实现网络服务高可用;
2、keepalived属于热备模式,一般只用于一主一从的情况,通常用于故障转移场景;
3、lvs工作在传输层协议,负载均衡能力最强,稳定性最高,通常用于负载均衡场景;
4、haproxy比nginx支持更多的负载均衡算法,可以工作在四层或七层,如果nginx满足不了要求则用haproxy;
二、分布式CAP理论
CAP原则指在分布式系统中三者不可兼得,Consistency一致性、 Availability可用性、Partition tolerance分区容错性。
1、一致性,在分布式系统中的所有数据备份,在同一时刻是否值相同;
2、可用性,在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求;
3、分区容错性,分布式系统中一般存在多个数据节点,部分节点挂掉不影响整个系统运行,一般必选;
实际情况:
大部分业务系统可用性是必选,牺牲掉一致性,所以满足AP的系统更多。微众银行TDSQL采用多数据节点,有2个节点处理完数据就可以告诉上游处理成功,某种程度上可以认为是同时满足CAP。
BASE理论:
基本可用Basically Available、软状态Soft State、最终一致性Eventually Consistent三个短语的缩写。BASE理论是对CAP一致性和可用性权衡的结果,其来源于对大规模互联网系统分布式实践的总结,是基于CAP定理逐步演化而来的。BASE理论的核心思想,即使无法做到强一致性,但每个应用都可以根据自身业务特点,采用适当的方式来使系统达到最终一致性。
1、基本可用
基本可用是指分布式系统在出现不可预知故障的时候,允许损失部分可用性,比如响应时间上的损失,系统功能上的损失。
2、软状态
软状态指允许系统中的数据存在中间状态,认为该中间状态的存在不会影响系统的整体可用性,即允许系统在不同节点的数据副本之间进行数据同步的过程存在延时。
3、最终一致性
最终一致性强调的是所有的数据副本,在经过一段时间的同步之后,最终都能够达到一个一致的状态。最终一致性的本质是需要系统保证最终数据能够达到一致,而不需要实时保证系统数据的强一致性。
分布式协调工具:
1、zookeeper使用paxos算法;
2、etcd使用raft算法,基于go语言;
3、apolloconfig是一个分布式配置中心;