伍佰目录 短网址
  当前位置:海洋目录网 » 站长资讯 » 教育考试 » 文章详细 订阅RssFeed

基于数据库实现分布式锁

来源:本站原创 浏览:99次 时间:2022-12-09
传统的单体应用,高并发多线程对共享资源的访问,可以直接对共享资源上锁,因为锁是所有线程可见的。分布式环境下,传统的同步机制对其它进程是不可见的,所以对共享资源的操作,需要全局的分布式锁来协调控制。

数据库作为全局公用资源,可以跨越多个应用进程来实现分布式锁,同理其它公共中间件也可以作为分布式锁的实现,如redis和zookeeper,也可以将操作共享资源的应用作为单体应用。本文将基于数据库实现分布式锁,分为乐观锁和悲观锁,可以使用数据库客户端工具测试验证,客户端执行sql等同于应用代码。乐观锁类似java的aqs,主要是通过version版本号来控制数据记录的更新操作。操作数据记录时,会首先获取当前version版本号,执行更新时将version作为更新条件,同时更新版本号version+1。

悲观锁类似java的synchronized,同一时间只能由一个线程访问该数据记录,其它线程访问时会出现阻塞,只有获取锁的线程执行完成之后,其它线程才可以竞争获取锁继续操作。

----
乐观锁适合读操作远大于写操作的场景,否则共享数据频繁更新就需要频繁获取版本号,造成数据库服务器压力。悲观锁适合并发请求不大的场景,否则频繁的读数据就会给数据库服务器带来压力,而且可能会因为多表操作引发死锁问题。


  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net