成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一分鐘實現分布式鎖

開發 開發工具 分布式
分布式環境下,多臺機器上多個進程對一個數據進行操作,如果不做互斥,就有可能出現“余額扣成負數”,或者“商品超賣”的情況,如何實現簡易分布式鎖,對分布式環境下的臨界資源做互斥,是今天將要討論的話題。

一、緣起

分布式環境下,多臺機器上多個進程對一個數據進行操作,如果不做互斥,就有可能出現“余額扣成負數”,或者“商品超賣”的情況,如何實現簡易分布式鎖,對分布式環境下的臨界資源做互斥,是今天將要討論的話題。

[[178861]]

二、互斥原理

原理:多個訪問方對同一個資源進行操作,需要進行互斥,通常是利用一個這些訪問方同時能夠訪問到的lock來實施互斥的。

例子1:同一個進程內,多個線程的互斥,典型的場景是生產者消費者對同一個queue進行操作時的互斥

同一個進程內,多個線程的互斥

方案:設定一個所有線程能夠訪問到的lock實施互斥

所有線程能夠訪問到的lock實施互斥

步驟:

(1)多個線程同時搶鎖

(2)只一個線程搶到,未搶到的阻塞,或下次再來搶

(3)搶到鎖的線程操作臨界資源

(4)操作完臨界資源后釋放鎖

例子2:同一個操作系統上,多個進程的互斥,典型的場景是手機上多個APP對同一個文件進行寫入互斥

同一個操作系統上,多個進程的互斥

方案:設定一個所有進程能夠訪問到的lock實施互斥(例如文件inode,OS幫我們做了)

所有進程能夠訪問到的lock實施互斥

步驟:

(1)多個進程同時搶鎖

(2)只一個進程搶到,未搶到的阻塞,或下次再來搶

(3)搶到鎖的進程操作臨界資源

(4)操作完臨界資源后釋放鎖

三、分布式環境下多進程互斥

分布式環境下多進程互斥

分布式環境下,多臺機器上多個進程對一個數據進行操作的互斥,例如同一個uid=123要避免同時進行扣款。

根據上面的原理,先找一個多臺機器多個進程可以同時訪問到的一個lock,例如redis。

分布式環境下多進程互斥

步驟:

(1)多臺機器上多個進程對這個鎖進行爭搶,例如在緩存上同時進行set key=123操作

(2)只有一個進程會搶到這個鎖,即只有一個進程對緩存set key=123能夠成功,不成功的進程下次再來搶

(3)搶到鎖的進程對余額進行扣減

(4)扣減完成之后釋放鎖,即對緩存delete key=123

分布式環境下的互斥,搞定。

【本文為51CTO專欄作者“58沈劍”原創稿件,轉載請聯系原作者】

責任編輯:趙寧寧 來源: 架構師之路
相關推薦

2018-06-28 14:00:01

分布式集群架構

2025-03-11 08:50:00

CASID分布式

2019-06-21 10:00:42

微服務分布式架構

2017-03-30 19:28:26

HBase分布式數據

2017-02-21 13:00:27

LoadAverage負載Load

2018-07-31 16:10:51

Redo Undo數據庫數據

2018-07-31 15:05:51

Java公平鎖線程

2018-06-26 05:23:19

線程安全函數代碼

2017-07-06 08:12:02

索引查詢SQL

2020-05-21 19:46:19

區塊鏈數字貨幣比特幣

2022-07-18 06:16:07

單點登錄系統

2020-10-28 11:00:53

Scrapy爬蟲Python

2018-12-12 22:51:24

Java包裝語言

2020-07-17 07:44:25

云計算邊緣計算IT

2016-09-12 17:28:45

云存儲應用軟件存儲設備

2020-07-09 07:37:06

數據庫Redis工具

2011-02-21 17:48:35

vsFTPd

2017-12-26 16:24:36

接口代碼數據

2017-03-27 23:22:23

數據庫列式存儲

2015-11-12 10:32:40

GitHub控制系統分布式
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区免费看 | 欧美一区二区在线免费观看 | 在线观看免费国产 | 在线观看av网站永久 | 精品国产欧美一区二区 | 激情五月婷婷在线 | 成人亚洲视频 | 日韩成人高清在线 | 日韩欧美在线视频 | 欧美 日韩精品 | 777zyz色资源站在线观看 | 日日摸夜夜添夜夜添特色大片 | 亚洲在线 | 九九精品在线 | 国产精品视频导航 | h视频在线免费观看 | 国产激情视频在线 | 伊人青青久久 | 欧美日韩国产一区二区 | 国产精彩视频 | 久久网一区二区三区 | 99久久婷婷国产综合精品电影 | 亚洲va中文字幕 | 国产日韩欧美一区 | 日本黄色免费片 | 国产日韩精品在线 | 亚洲精品欧美 | 天天天操| 日韩欧美精品在线 | 日韩精品在线观看免费 | 国产乱码精品一区二区三区五月婷 | 91在线看 | 黄视频在线网站 | 国产在线一区二 | 性网址| 日本久久视频 | 91麻豆精品国产91久久久久久久久 | 免费观看av网站 | 国产精品永久久久久久久www | 国产视频一区在线观看 | 中文字幕视频免费 |