Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 9508|Odpověď: 2

Implementace distribuovaného zámku Zookeeper

[Kopírovat odkaz]
Zveřejněno 20.03.2018 16:23:52 | | | |
Konstrukce zámku

  Získejte nápad na implementaci zámku:
1. Začněte vytvořením adresáře jako zámku (znode), který se obvykle používá k popisu uzamčené entity, nazývané :/lock_node
2. Klient, který chce zámek získat, vytvoří znode v adresáři zámku jako poduzelný uzel zámku/lock_node a typ uzlu je Ordered Temporary Node (EPHEMERAL_SEQUENTIAL);
Například dva klienti vytvářejí znody, /lock_node/lock-1 a /lock_node/lock-2
3. Aktuální klient volá getChildren(/lock_node), aby získal všechny poduzly adresáře zámku, aniž by nastavoval watch, a poté získal bratrské uzly, které jsou menší než on sám (vytvořeno v kroku 2).
4. Uzel, který je menší než on sám v kroku 3, neexistuje a nejmenší uzel je stejný jako ten vytvořený v kroku 2, což znamená, že aktuální pořadové číslo klienta je nejmenší, získejte zámek a konec.
5. Klient sleduje stav uspořádaného dočasného uzlu, který je nejmenší po něm
6. Pokud se stav monitorovaného poduzlu změní, přejděte na krok 3 a pokračujte v následných operacích, dokud není ukončena závod za zámykem.     

Autor zde nebude představovat distribuční zámek, podívejme se na tok celého návrhu kódu takto





Předchozí:Podrobné vysvětlení AutoResetEvent v .net/c#
Další:Co se týče problému, že Android 7.0 nedokáže provádět zachycování https paketů
 Pronajímatel| Zveřejněno 20.03.2018 16:49:35 |
Zookeeper rozdělil zámkové kroky:
1. Zookeeper je uzel s uzly, podobně jako adresář souborů, takže zamykáme do adresáře, Zookeeper má uzel EPHEMERAL_SEQUENTIAL typů, více vláken a když uzel vytvoří Zookeeper, pomůže nám uspořádat pořadí vytvoření, takže adresáře pod tímto uzlem jsou sekvenční.
2. Získejte nejmenší uzel aktuálního adresáře, zjistěte, zda je nejmenší uzel aktuální, pokud to znamená, že zámek byl úspěšný, pokud nejde o selhání získání zámku.
3. Když zámek selže, abyste se vyhnuli efektu roje, musíte získat předchozí uzel aktuálního uzlu a pak ho poslouchat.
4. Když to uděláte, při uvolnění zámku upozorníte také další uzel.
 Pronajímatel| Zveřejněno 20.03.2018 16:54:46 |
Zjistěte předem o stavu ošetřovatelů a typech akcí.


Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com