关于分布式系统(分布式锁,分布式数据库集群,分布式事务)

    xiaoxiao2022-07-13  148

    1在分布式系统下(单机synchronzied,lock无法实现分布式锁),如何实现加锁:采用缓存如redis等实现加锁,或者采用数据库乐观锁(如何避免redis宕机导致锁失效?)

    2数据库集群:多个读库,一个写库。(mycat实现读写分离)高可用mha ,pxc

    3分布式事务(mq,seata,gts,lcn,saga)

     

    2PC 请求提交prepareCommit,提交doCommit,简单粗暴,同步阻塞,强一致性

    3PC 预提交(try),请求提交(prepareCommit),doCommit (可以超时提交,最终一致性)

     

    分布式事务有多种主流形态,包括:

    基于消息实现的分布式事务基于补偿实现的分布式事务基于TCC实现的分布式事务(3PC):(try 接口,comfirm 接口,cancel接口)预约事务,预先扣下押金,等执行完成,实现支付,失败返回押金。基于SAGA实现的分布式事务基于2PC实现的分布式事务:协调员发起执行请求,参与者反馈是否可以执行,线程挂起,等待协调通知的时候统一提交或者回滚,如果全部可以执行,协调员发送提交指令,如果有一个参与者不能执行,协调员发送取消指令。(同步阻塞问题)
    最新回复(0)