Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 9508|Atsakyti: 2

Zookeeper paskirstyto užrakto įgyvendinimas

[Kopijuoti nuorodą]
Paskelbta 2018-03-20 16:23:52 | | | |
Spynos dizainas

  Gaukite užrakto diegimo idėją:
1. Pradėkite sukurdami katalogą kaip užraktą (znode), kuris paprastai naudojamas apibūdinti užrakintą objektą, vadinamą :/lock_node
2. Klientas, norintis gauti užraktą, sukuria znode užrakto kataloge kaip antrinį užrakto / lock_node mazgą, o mazgo tipas yra užsakytas laikinas mazgas (EPHEMERAL_SEQUENTIAL);
Pavyzdžiui, du klientai sukuria znodes, /lock_node/lock-1 ir /lock_node/lock-2
3. Dabartinis klientas kviečia getChildren(/lock_node), kad gautų visus užrakto katalogo antrinius mazgus, nenustatydamas laikrodžio ir tada gaudamas brolių mazgus, kurie yra mažesni už jį (sukurtas 2 veiksme).
4. Mazgas, kuris yra mažesnis už save 3 žingsnyje, neegzistuoja & mažiausias mazgas yra tas pats, kuris sukurtas 2 veiksme, nurodant, kad dabartinis kliento sekos numeris yra mažiausias, gauti užraktą ir baigti.
5. Klientas stebi tvarkingo laikino mazgo, kuris yra kitas mažiausias sau, būseną
6. Jei stebimo mazgo būsena pasikeičia, pereikite prie 3 veiksmo ir tęskite tolesnius veiksmus, kol baigsis užrakto lenktynės.     

Autorius čia nepristatys paskirstymo užrakto, pažvelkime į viso kodo dizaino schemą taip





Ankstesnis:Išsamus AutoResetEvent paaiškinimas .net/c#
Kitą:Dėl problemos, kad "Android 7.0" negali atlikti https paketų fiksavimo
 Savininkas| Paskelbta 2018-03-20 16:49:35 |
Zookeeper paskirstyti užrakto žingsniai:
1. "Zookeeper" yra mazgas su mazgais, panašus į failų katalogą, todėl užraktą abstrahuojame į katalogą, "Zookeeper" turi EPHEMERAL_SEQUENTIAL tipų mazgą, kelias gijas, o kai "Zookeeper" sukurtas mazgas, tai padės mums sutvarkyti kūrimo tvarką, todėl katalogai po šiuo mazgu yra nuoseklūs.
2. Gaukite mažiausią dabartinio katalogo mazgą, nustatykite, ar mažiausias mazgas yra dabartinis mazgas, jei tai reiškia, kad užraktas sėkmingas, jei tai nėra užrakto įsigijimo gedimas.
3. Kai užraktas sugenda, norėdami išvengti spiečiaus efekto, turite gauti ankstesnį dabartinio mazgo mazgą ir klausytis mazgo.
4. Kai tai padarysite, atleidę užraktą, taip pat pranešite kitam mazgui.
 Savininkas| Paskelbta 2018-03-20 16:54:46 |
Iš anksto sužinokite apie zoologijos sodo prižiūrėtojo statusą ir įvykių tipus.


Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com