Zookeeper(二)分佈式協調技術

什麼是分佈式協調技術?

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


在這裏插入圖片描述
假設如圖所示,有三臺機器,每臺機器各跑一個應用程序。
然後我們將這三臺機器通過網絡將其連接起來,構成一個系統。
該系統用來爲用戶提供服務,對於用戶來說,這個系統的架構是透明的(也可以說是雲裏霧裏,模糊不清的),他感覺不到我這個系統是一個什麼樣的架構。
so,我們就可以把這種系統稱作一個分佈式系統

在這個分佈式系統中如何對進程進行調度?

假設,第一臺機器上掛載了一個資源,然後這三個物理分佈的進程都要競爭這個資源
但是,我們並不希望他們同時進行訪問,我們希望他們有序的訪問,這時候我們就需要一個協調器,來讓他們有序的來訪問這個資源。
在多線程裏面使用的就是鎖,來進行控制的。

重點:協調器,即鎖。
這個協調器就是我們經常提到的那個,比如說"進程1"在使用該資源的時候,會先去獲得鎖,"進程1"獲得鎖以後會對該資源保持獨佔,這樣其他進程就無法訪問該資源,"進程1"用完該資源以後就將鎖釋放掉,讓其他進程來獲得鎖,那麼通過這個鎖機制,我們就能保證了分佈式系統中多個進程能夠有序的訪問該臨界資源。
那麼我們把這個分佈式環境下的這個鎖叫作分佈式鎖。
這個分佈式鎖也就是我們分佈式協調技術實現的核心內容。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章