当前位置: 首页 > news >正文

常州网站建设书生商友北京网站推广排名公司

常州网站建设书生商友,北京网站推广排名公司,汕头吧 百度贴吧,做网站什么职业分布式锁 没有图形,只通过大量文字进行说明。分布式锁:redis分布式锁, zk分布式锁, 数据库做分布式锁 redis分布式锁 setnx key value ex 10 原子操作 AB两个线程减库存业务,假设库存是10 A线程获取锁,…

分布式锁

没有图形,只通过大量文字进行说明。分布式锁:redis分布式锁, zk分布式锁, 数据库做分布式锁

redis分布式锁

  1. setnx key value ex 10 原子操作

  2. AB两个线程减库存业务,假设库存是10

  3. A线程获取锁,B线程等待,此时A线程释放锁,程序还未执行完成。此时B线程获取锁,此时A,B都将库存减到9,与业务不符。
    解决办法:锁续期。

  4. 为了解决单机redis瓶进,采用redis集群。一主一从,线程A从主机获取锁,此时主宕机,线程B从从机也获取了锁
    解决办法:使用红锁 5(奇数)台redis集群,没有主从概念,假设编号为B1 B2 B3 B4 B5。请求依次执行,当一半以上加锁成功才算加锁成功,此时A线程依次加锁成功B1 B2 B3即获取锁成功。 线程B 加锁B4 B5成功,没有获取锁。此时还存在一个问题,如果B3宕机,马上重启成功。此时线程B 加锁B3 B4 B5成功,也获取了锁,这是红锁存在的问题。解决办法:延时重启

    其实实际中采用单机redis做分布式锁即可,使用分布式框架redisson。
    5.线程A获取锁,此时 如果程序jvm线程stw, 会导致锁丢失。仍然想获取锁可以使用 zk(节点)+数据库。线程A获取锁,返回将锁存放在数据库中,此时JVM stw, 线程b去获取锁,修改锁,与数据库已经存在的锁标识进行对比。

数据库做分布式锁

锁的id作为主键索引或者唯一索引

分布式事务

-----------程序A---------->程序B----->----------
| |
|
|
DB DB
AB两个串行执行的程序都有数据库操作,程序A执行后,程序B出现异常时,数据库如何进行回滚

采用了协调者角色,框架iso,seateAT
两段式提交

  1. 投票阶段
  2. 提交/回滚阶段

扩展:三段式提交

提高高并发设计

程序请求后直接返回

自己手写mq监控程序(定时任务+web)请求mq和操作数据库

http://www.yayakq.cn/news/423176/

相关文章:

  • 新网站2个月没有收录视频网站上市公司有哪些
  • 做网站能拿多少钱天津建设工程合同备案网站
  • 自己做网站百度能收录码企业网站建设排名
  • 专门做店面装修设计的网站wordpress页面自定义页面跳转
  • 翻译网站建设建个网站需要多少钱? 知乎
  • 老鹰网网站建设黄冈网站推广代运营
  • 容桂网站制作价位网站开发 后端服务
  • 济南网站搜索排名seo搜索引擎优化关键词
  • 网站推广什么意思php 网站建设方案
  • app展示网站廊坊seo外包公司
  • php笑话网站源码酒类网站如何做
  • asp.net窗体网站查企业哪个软件好
  • 尺寸在线做图网站软件盒子wordpress
  • 大连建立网站公司重庆做网站_重庆网站建设_重庆网络推广_重庆网络公司
  • 免费查公司seo是什么职位的简称
  • 电脑怎么装免费wordpressseo外链专员
  • vc做网站郑州网站建站网站
  • 装饰网站建设方案重庆英文网站建设
  • html5炫酷的网站微信网站用什么做的
  • 网站第一步建立安康市移动公司
  • 网站建设合同属于印花税的哪个税目密云网站开发
  • 个人建设网站难吗建设网站公司哪里好
  • 网站 反链用什么程序做网站
  • ps怎么做网站logo虚拟主机服务
  • 怎么在国外网站买东西自学网页设计需要学习什么
  • 小企业网站如何建设好河南最新新闻头条
  • v2017网站开发网页打不开验证码图片
  • 开发一个网站大概多少钱阿里云服务器做盗版视频网站
  • 太原网站制作哪里便宜嘉兴市做外贸网站
  • 做电影下载网站室内装修软件