首页天道酬勤基于数据库实现分布式锁,什么场景用到分布式锁

基于数据库实现分布式锁,什么场景用到分布式锁

张世龙 05-03 20:57 61次浏览

本文介绍了如何基于关系数据库理解分布式锁定分布式锁定的典型实现。 存在单点故障风险、无法重新插入或无法实现阻塞APP应用程序的Redis缓存是基于ZooKeeper实现的

电子商务网站会遇到秒杀、特价等活动,大活动的一个共同特点是访问量激增,出现高并发、成千上万人抢购商品的场面。 系统设计时采用限流、异步、排队等方法进行优化,整体同时发生的次数比平时多数倍以上,参加活动的商品一般都是限量库存。 如何防止库存超额销售,避免同时发生的问题呢? 分布式锁定是一种解决方案。

如何理解分布式锁定

我们知道,在业务开发中,为了确保多线程处理共享数据的安全性,必须确保在同一时间只能处理共享数据的一个线程。

Java语言提供了线程锁定,并开放了处理锁定机制的API,如同步和锁定。 如果一个线程具有锁定,则如果另一个线程尝试获取锁定,则持有该锁定的线程将失败或被阻止,直到解锁为止。

在单个服务内部,线程可以通过锁定来同步,避免并发问题,但在分布式场景中如何?

html用表单做登录页面,html写一个登录页面