一、CAP:
CAP概念:一致性Consistency、可用性Availability、分区容错性Partition tolerance。
P_分区容错性:系统中提供服务的网络节点称之为分区,分区容错性要求当一分区挂掉时,其他分区能正常替代该分区提供服务。单机应用程序因只有一台机器故不存在分区容错的要求,分区容错只要求在分布式系统中。
C_一致性:不同节点数据的一致,由数据复制备份的频率决定一致性的高低
A_可用性:客户端发送的数据请求能正常收到响应,不会出现影响可用的延迟。
分布式系统中CAP之间的关系:为了提高分区容错性,则需要对数据进行多节点备份存储。此时涉及到了数据一致性与可用性。在分布式系统中,分区容错性是必须具备的。要保持一致性,则要提高数据复制频率与时长,影响可用性;要保持可用性,则不能有太长数据复制时长的节点时间占用。
总结:分布式系统中CAP三个最多只能满足其中两个,无法同时满足三个
参考博文:分布式系统CAP概念
二、分布式锁实现方式:
- 基于redis缓存:使用redis的redisson框架,通过redis集群实现分布式锁(redis必须依靠redis集群才可实现分布式锁,其他方式存在安全性、一致性等问题)
- 基于zookeeper
- 基于数据库的分布式锁
参考博文:分布式锁的三种实现方式是什么?