美文网首页
分布式事务-实现无锁

分布式事务-实现无锁

作者: 路亚历克斯 | 来源:发表于2018-10-16 22:55 被阅读0次

实现无锁

放弃锁并不意味着放弃隔离性(实现事务隔离的方法有多种)。

    1. 避免事务进入回滚
      即要求业务不管出现什么情况,只能继续朝事务处理流程的正向继续处理!(不断重试?)
    1. 辅助业务变化明细表
      规避数据访问热点
      -- 避免所有事务对同一数据表进行更新操作(造成热点),使得不同事务中处理的数据互补干扰!
      -- 如秒杀大促场景:
    • ① 订单生成,记录“库存预减明细表”,不更新主表库存;
    • ② 订单付款成功,更新主表库存,(删除预减库存明细表相应记录?或改状态?);《至少规避了热点?》
    • ③ 付款之前获取商品库存需要计算;
    1. 使用乐观锁,避免悲观锁
      乐观锁是基于数据版本记录机制,即常用的seq。查询时拿到seq,更新时带seq更新(条件),并更新seq,+1。更新不成功则失败处理。(宁可更新失败,规避悲观锁)
      -- 这种处理方式需要慎重评估??

相关文章

  • 使用etcd分布式锁做主备切换

    利用etcd事务机制可以实现分布式锁,利用分布式锁可以做主备切换功能。Etcd分布式锁实现方式如下:利用etcd事...

  • 分布式事务-实现无锁

    实现无锁 放弃锁并不意味着放弃隔离性(实现事务隔离的方法有多种)。 避免事务进入回滚即要求业务不管出现什么情况,只...

  • 分布式锁及分布式事务

    分布式锁是解决并发时资源争抢的问题,分布式事务和本地事务是解决流程化提交问题。一、其中分布式锁实现:1.基于数据库...

  • 大佬浅谈分布式锁

    redis 实现 redis 分布锁一、redis 实现分布式锁(可重入锁)redission 实现分布式锁1、对...

  • 分布式锁实现

    基于数据库实现分布式锁基于缓存(redis,memcached)实现分布式锁基于Zookeeper实现分布式锁 s...

  • 基于redis的分布式锁

    分布式锁实现方案 基于数据库实现分布式锁 基于缓存(redis,memcached,tair)实现分布式锁 基于Z...

  • Zookeeper实现分布式锁(一)While版

    前面文章讲解了用Redis实现分布式锁的方式: 分布式锁之Redis实现(acquire)分布式锁之Redis实现...

  • 基于redis实现的分布式锁

    本文要点 基于redis实现分布式锁demo 基于redis实现分布式锁原理 基于redis实现分布式锁优缺点 正...

  • Redis 分布式锁

    1.2 基于Redis的分布式锁 1.2.2 实现原理: 基于乐观锁,即在提交事务前检查数据版本是否被更新,若被更...

  • Redis 如何实现分布式锁?ZooKeeper 如何实现分布式

    Redis 如何实现分布式锁?ZooKeeper 如何实现分布式锁?比较二者优劣? 分布式锁的三种实现: 基于数据...

网友评论

      本文标题:分布式事务-实现无锁

      本文链接:https://www.haomeiwen.com/subject/wfikzftx.html