分布式鎖相關知識

2021-09-24 11:28:04 字數 794 閱讀 6871

分布式協調技術主要用來解決分布式環境當中多個程序之間的同步控制,讓他們有序的去訪問某種臨界資源,防止造成"髒資料"的後果。

在這圖中有三颱機器,每台機器各跑乙個應用程式。然後我們將這三颱機器通過網路將其連線起來,構成乙個系統來為使用者提供服務,對使用者來說這個系統的架構是透明的,他感覺不到我這個系統是乙個什麼樣的架構。那麼我們就可以把這種系統稱作乙個分布式系統。

在這個分布式系統中如何對程序進行排程,我假設在第一台機器上掛載了乙個資源,然後這三個物理分布的程序都要競爭這個資源,但我們又不希望他們同時進行訪問,這時候我們就需要乙個協調器,來讓他們有序的來訪問這個資源。這個協調器就是我們經常提到的那個鎖,比如說"程序-1"在使用該資源的時候,會先去獲得鎖,"程序1"獲得鎖以後會對該資源保持獨佔,這樣其他程序就無法訪問該資源,"程序1"用完該資源以後就將鎖釋放掉,讓其他程序來獲得鎖,那麼通過這個鎖機制,我們就能保證了分布式系統中多個程序能夠有序的訪問該臨界資源。那麼我們把這個分布式環境下的這個鎖叫作分布式鎖。這個分布式鎖也就是我們分布式協調技術實現的核心內容。

為了防止分布式系統中的多個程序之間相互干擾,我們需要一種分布式協調技術來對這些程序進行排程。而這個分布式協調技術的核心就是來實現這個分布式鎖

如果我們業務中確實存在這個場景的話,我們就需要一種方法解決這個問題,這就是分布式鎖要解決的問題

分布式鎖相關

併發校驗庫存,造成庫存衝突的假象,扣成負數 1.更新完庫存之後,讀取庫存,若 0則丟擲異常,回滾事務。這樣做沒有加分布式鎖,且資料庫壓力較大。且效能不高。2.統一加鎖,使之成為原子操作。select for update 加鎖,只能加一次,加鎖期間其他執行緒不能獲取。具體實現 優缺點 簡單方便,易於...

分布式架構相關知識

傳統單體架構 分布式架構系統 新功能開發 需要時間 容易開發和實現 部署不經常且容易部署 經常發布,部署複雜 隔離性故障影響範圍大 故障影響範圍小 架構設計 難度小難度級數增加 系統效能 響應時間快,吞吐量小 響應時間慢,吞吐量大 系統運維 運維簡單 運維複雜 新人上手 學習曲線大 應用邏輯 學習曲...

分布式事務相關

com 計 小型可執行程式的副檔名,序列通訊埠 域 commercial organizations,商業組織,公司 the component object model元件物件模型 我 們必須認識到,元件服務就是windows xp和2000中的com 是微軟元件物件模型 com 和微軟事務伺服器...