Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 9508|Válasz: 2

Zookeeper elosztott zár megvalósítása

[Linket másol]
Közzétéve 2018. 03. 20. 16:23:52 | | | |
Zártervezés

  Ismerd meg a zár megvalósításának ötletét:
1. Kezdjük azzal, hogy létrehozz egy könyvtárat zárként (znode), amelyet általában a zárolt entitás leírására használnak, ezt nevezik :/lock_node
2. Az ügyfél, aki meg akarja szerezni a zárat, létrehoz egy znode-ot a zár könyvtárában, mint a zár/lock_node gyermekcsomópontja, és a csomópont típusa Ordered Temporary Node (EPHEMERAL_SEQUENTIAL);
Például két kliens hoz létre znode-okat, /lock_node/lock-1 és /lock_node/lock-2
3. A jelenlegi kliens getChildren(/lock_node) hívást indít, hogy megkapja a lock könyvtár összes gyermekcsomópontját, nem állította be a watch-t, majd megkapja azokat a testvércsomópontokat, amelyek kisebbek nála (a 2. lépésben létrehozva).
4. Az a csomópont, amely a 3. lépésben kisebb önmagánál van, nem létezik && a legkisebb csomópont ugyanaz, mint a 2. lépésben létrehozott, ami azt jelzi, hogy a jelenlegi kliens szekvencia a legkisebb, a zárolás és a vég.
5. Az ügyfél figyeli annak a rendezett ideiglenes csomópontnak az állapotát, amely a legkisebb önmagához képest
6. Ha a megfigyelt alcsomópont állapota megváltozik, ugorjunk a 3. lépésre, és folytassuk a követési műveleteket, amíg a zár verseny ki nem áll.     

A szerző itt nem mutatja be a terjesztési zárat, nézzük meg az egész kódtervezés folyamatábráját az alábbiak szerint





Előző:Az AutoResetEvent részletes magyarázata a .net/c# fájlban
Következő:Ami azt a problémát illeti, hogy az Android 7.0 nem tud https csomagrögzítést végrehajtani
 Háziúr| Közzétéve 2018. 03. 20. 16:49:35 |
Állatkerti gondnok elosztott zárlépés:
1. A Zookeeper egy csomópont, amelynek csomópontjai vannak, hasonlóan egy fájlkönyvtárhoz, ezért a zárolást egy könyvtárba absztrakciózzák, a zookeepernek EPHEMERAL_SEQUENTIAL típusú csomópontja van, több szálkal, és amikor a zookeeper által létrehozott csomópontot létrehozza, segít rendezni a létrehozás sorrendjét, így a csomópont alatt lévő könyvtárak egymás után vannak.
2. Szerezd meg a legkisebb csomópontot a jelenlegi könyvtárból, határozd meg, hogy a legkisebb csomópont az-e a jelenlegi csomópont, ha ez azt jelenti, hogy a zár sikeres, ha nem a zár megszerzési hibája.
3. Amikor a zár meghibásodik, a swarm effekt elkerülése érdekében meg kell szerezned a jelenlegi csomópont előző csomópontját, majd hallgatni a csomópontot.
4. Amikor ezt megteszed, amikor feloldod a zárolást, értesíted a következő csomópontot is.
 Háziúr| Közzétéve 2018. 03. 20. 16:54:46 |
Előzetesen ismerje meg az állatkerti státuszt és az eseménytípusokat.


Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com