分布式
分布式概念
1.解释一下什么是 CAP ?
- Consistency:一致性就是在客户端任何时候看到各节点的数据都是一致的。
- Availability:可用性就是在任何时刻都可以提供读写。
- Partition Tolerance:分区容错性是在网络故障、某些节点不能通信的时候系统仍能继续工作。
具体地讲在分布式系统中,在任何数据库设计中,一个Web应用最多只能同时支持上面的两个属性。显然,任何横向扩展策略都要依赖于数据分区。因此,设计人员必须在一致性与可用性之间做出选择。
AP(高可用&&分区容错):
允许至少一个节点更新状态会导致数据不一致,即丧失了C性质(一致性)。会导致全局的数据不一致。
CP(一致&&分区容错):
为了保证数据一致性,将分区一侧的节点设置为不可用,那么又丧失了A性质(可用性)。分区同步会导致同步时间无限延长(也就是等数据同步完成之后才能正常访问)
CA(一致&&高可用):
两个节点可以互相通信,才能既保证C(一致性)又保证A(可用性),这又会导致丧失P性质(分区容错性)。这样的话就分布式节点受阻,无法部署子节点,放弃了分布式系统的可扩展性。因为分布式系统与单机系统不同,它涉及到多节点间的通讯和交互,节点间的分区故障是必然发生的,所以在分布式系统中分区容错性是必须要考虑的。