为什么使用分布式锁

在多线程的环境下,为保证数据唯一性,例如在高并发情况下,如果多条请求同时传入生成订单号(订单号机制:当前时间点+当日已存在的订单数量),此时极有可能出现订单号相同的情况,如果微服务部署在同一台jvm上边可以使用synchronized或者是添加可重入锁的方式规避这种情况,但是在大型环境下,此时服务部署在不同的服务器上边,并非同一台jvm,所以这时候常规加锁机制无法控制高并发情况,就要用到分布式锁。
分布式锁的三种实现方式:
	1.使用MySQL数据库乐观锁的方式实现(线上环境脑子进水才会用,并发量不够);
	2.redis实现分布式锁(redis原生代码实现;redission实现)
	3.zookeeper实现分布式锁
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值