CAP:分布式事务方案的指导,分布式系统设计方向,根据业务选择AP(高可用) ,CP(数据一致性)
C:一致性,用户访问分布式任一节点,数据保持一致
A:可用性,用户访问集群中的任意健康节点,必须得到响应,而不是超时或拒绝
P:分区容错性:因为网络故障或其他原因导致分布式系统中的部分节点和其他节点失去联系,形成独立分区
BASE:对CAP的一种解决思路
B(基本可用):分布式系统出现故障时,允许损失部分可用性,保证核心可用
S(软状态):在一定给时间内,允许出现中间状态,比如临时的不一致状态
E(最终一致性):虽然无法保证强一致性,但在软状态结束后,最终达到数据的一致性
分布式事务:
seata的三种模式:
XA:
AT:
TCC:
接口幂等:多次调用接口方法不会改变业务状态,可以保证重复调用的结果和单词调用的结果一致
token + redis:请求获取token---生成唯一token存入redis---返回token---验证token是否存在,存在处理业务删除token
分布式锁:重入锁(执行锁的名称),获取锁,锁不存在失败,性能低
分布式任务调度:xxl-job
路由策略:1,轮询 2,固定第一个 3,固定最后一个 4,随机 5,一致性hash 6,最不经常使用 7,最久未使用 8,故障转移(按顺序一次进行心跳检测,第一个检测成功的执行调度) 9,忙碌转移 10,分片广播(广播触发集群中所有及其一致执行;任务数%分片数对应执行)
任务失败策略:1,故障转移,重试机制 ,查看日志分析 --->邮件告警