锁要达到的目的:
把有状态的资源包装成原子性(原子性:无中间状态,非黑即白)的,达到线程安全
什么是分布式锁:
锁是单个进程用来协调多个线程对共享资源进行同步访问。分布式锁就是用来协调多个进程下的所有线程多共享资源的同步访问。
分布式锁的解决方案
redis分布式锁的基础知识:
分布式事务:
两阶段提交标准:
两阶段提交不常使用原因:1、通常不可能拿到多个数据源,2、性能比较差,同时锁定两个数据库的数据,事务占用时间长(主要因素)
TCC事务:
tcc事务框架 1、tcc-transaction(目前比较好用的,下载地址:https://github.com/changmingxie/tcc-transaction)2、bytetcc(下载地址:https://github.com/liuyangming/ByteTCC)3、GTS