为什么分布式项目中需要分布式锁,而普通的web项目从来没有考虑过锁的问题?

发布于 2022-09-12 03:29:55 字数 44 浏览 22 评论 0

为什么分布式项目中需要分布式锁,而普通的web项目从来没有考虑过锁的问题?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

若水微香 2022-09-19 03:29:55

“普通的 Web 项目从来没有考虑过锁的问题” 这句话就是错的。

普通 Web 项目里你没有多线程?有多线程就一定涉及到线程安全问题,要解决线程安全问题就大概率会用到锁。即使你写的代码里没显式的用到线程锁,你用的数据库不一样带锁?表锁、行锁难道不是锁了?数据库事务里不是锁吗?

而分布式项目,已经是多进程、甚至都不在同一台机器上了,这时线程层面的锁已经不能满足需求了,所以才要分布式锁出马。


举个例子,双十一秒杀,一共 100 个库存。为了防止超卖,你需要怎么办?当然解法不唯一了,可用锁是不是可以解决(不考虑锁开销等问题,只说场景)?这跟你项目是单机单节点还是分布式集群有什么关系?

因为普通的web项目没有达到高并发。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文