Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 9508|Odpowiedź: 2

Implementacja rozproszonych zamków Zookeeper

[Skopiuj link]
Opublikowano 20.03.2018 16:23:52 | | | |
Projekt śluzy

  Poznaj pomysł na implementację zamka:
1. Rozpocznij od utworzenia katalogu jako blokady (znode), która zwykle opisuje zablokowaną jednostkę, zwaną :/lock_node
2. Klient, który chce uzyskać blokadę, tworzy znode w katalogu blokady jako węzeł potomny blokady/lock_node, a typ węzła to Order Temporary Node (EPHEMERAL_SEQUENTIAL);
Na przykład dwóch klientów tworzy znode: /lock_node/lock-1 oraz /lock_node/lock-2
3. Obecny klient wywołuje getChildren(/lock_node), aby pobrać wszystkie węzły potomne katalogu blokady, bez ustawiania watch, a następnie pobierać węzły bratnie mniejsze od siebie (utworzone w kroku 2).
4. Węzeł mniejszy od siebie w kroku 3 nie istnieje, a najmniejszy węzeł jest taki sam jak ten utworzony w kroku 2, co oznacza, że aktualny numer sekwencyjny klienta jest najmniejszy, get the lock i end.
5. Klient monitoruje stan uporządkowanego tymczasowego węzła, który jest najmniejszy po nim samym
6. Jeśli status monitorowanego podwęzła się zmieni, przejdź do kroku 3 i kontynuuj operacje uzupełniające aż do zakończenia wyścigu blokady.     

Autor nie będzie tu wprowadzał blokady dystrybucji, przyjrzyjmy się schematowi przepływu całego projektu kodu w następujący sposób





Poprzedni:Szczegółowe wyjaśnienie AutoResetEvent w .net/c#
Następny:Jeśli chodzi o problem, że Android 7.0 nie może przechwycić pakietów https
 Ziemianin| Opublikowano 20.03.2018 16:49:35 |
Opiekunowie Zookeeper rozdzielają schody zamków:
1. Zookeeper to węzeł z węzłami, podobny do katalogu plików, więc utrudniamy blokadę do katalogu, Zookeeper ma węzeł EPHEMERAL_SEQUENTIAL typów, wiele wątków, a gdy węzeł zostanie utworzony przez Zookeeper, pomaga nam uporządkować kolejność tworzenia, więc katalogi pod tym węzłem są sekwencyjne.
2. Uzyskaj najmniejszy węzeł aktualnego katalogu, określ, czy najmniejszy węzeł jest aktualnym, czy oznacza to skuteczność blokady, jeśli nie jest to niepowodzenie w nabyciu blokady.
3. Gdy blokada zawodzi, aby uniknąć efektu roju, musisz uzyskać poprzedni węzeł bieżącego węzła, a następnie go nasłuchiwać.
4. Gdy to zrobisz, po zwolnieniu blokady, powiadomisz także następny węzeł.
 Ziemianin| Opublikowano 20.03.2018 16:54:46 |
Dowiedz się wcześniej o statusie opiekuna zookeepera i typach wydarzeń.


Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com