Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 156057|Antwort: 37

[Konsolenprogramm] .net/c# Zookeeper Distributed Lock-Implementierung [Quellcode]

[Link kopieren]
Veröffentlicht am 04.04.2018 17:10:42 | | | |
Zunächst die folgenden zwei Artikel über .net/c# Zookeeper verteilten Schlösser:

Der Hyperlink-Login ist sichtbar.

Der Hyperlink-Login ist sichtbar.

Tatsächlich sind die beiden oben genannten Artikel falsch! Völlig irreführende Programmierer!


Über unsZookeeper-Installations-Tutorial:

【Practical Combat】Zookeeper Installation Tutorial in Windows-Umgebung
http://www.itsvse.com/thread-4603-1-1.html
(Quelle: Architect_Programmer)

Das Implementierungsprinzip des verteilten Zookeeper-Locks wird einfach erklärt:

1: Alle Kind-Knoten unter dem Spind holen

2: Alle Unterknoten sind sortiert, hier sind zwei Situationen

Wenn dein Knoten die kleinste Seriennummer hat, gilt der Client als Inhaber der Sperre. Du kannst dein eigenes Ding machen!
Wenn dein Knoten nicht die kleinste Seriennummer hat, ist der Knoten, der den kleinsten Knoten hört, nicht der vorherige, kleinere Knoten als du!! Achte hier darauf!
(Denn dein vorheriger Knoten könnte ablaufen und das Schloss lösen!) )

3: Warte auf die Zookeeper-Benachrichtigung und wiederhole dann die Operation 2, ziehe alle Knoten, sortiere sie und beurteile, ob du der kleinste Knoten bist............

Nachdem wir das Prinzip kennen, schauen wir uns an, warum die beiden obersten Einleitungen des Artikels falsch sind?





Wenn man sich das Beispiel der Reihenfolge im Artikel ansieht, fühlt es sich richtig an, und das Ergebnis nach dem Laufen ist ebenfalls korrekt! Wenn Sie es jedoch ein paar Mal testen, werden Sie feststellen, dass der Code im Artikel völlig falsch ist!!!

Also, wenn wir das Prinzip kennen, schreiben wir es selbst! Jedenfalls ist es nicht das erste Mal, dass ich im Internet von Codes an die Box geworfen werde!

Hier ist das richtige GIF:



Rufcode:



Die ZooKeeperNet.dll verwendete Version ist 3.4.6.1

[Tatsächlicher Kampf] ASP.NET Core basiert auf Redis Distributed Lock Flash Sale
https://www.itsvse.com/thread-9397-1-1.html

Zum Schluss fügen Sie den Quellcode an:

Touristen, wenn ihr den versteckten Inhalt dieses Beitrags sehen wollt, bitteAntwort





Vorhergehend:Löse das Problem "Verwendung eines Passworts auf der Kommandozeile-Schnittstelle... "
Nächster:jquery erhält den Label-Typ des jquery-Objekts
Veröffentlicht am 06.05.2019 18:15:55 |
LZ, ich habe mir den Quellcode angesehen und er hat keine zk-Timeout-Operationen wie das Freigeben von Sperren gehandhabt, sei es wegen des ZK-Temporärknotenmechanismus. Wird der ZK getrennt, wird der Knoten automatisch gelöscht.
Veröffentlicht am 03.07.2019 11:16:25 |
Runfehler: Wirft eine Ausnahme vom Typ ZooKeeperNet.KeeperException+ConnectionLossException aus.
Veröffentlicht am 06.05.2019 18:17:02 |
Im Fall eines einzelnen ZK kann es kein Problem geben. Wenn zk ein Cluster ist, wird es dann Probleme mit der Leistung von 3-zk-datensynchronisierten Updates geben?
Veröffentlicht am 08.04.2018 16:32:38 |
Danke fürs Teilen, lass uns einen Blick werfen
Veröffentlicht am 01.06.2018 12:01:39 |
Danke fürs Teilen
Veröffentlicht am 05.07.2018 12:31:02 |
Schöner Beitrag
Veröffentlicht am 10.07.2018 12:11:14 |
Mark
Mark
Mark
Mark
Veröffentlicht am 11.07.2018 15:47:20 |
Ja, wir arbeiten an einem Implementierungsschema für eine Verteilungssperre
Veröffentlicht am 01.08.2018 12:52:23 |
Schauen wir mal nach
Veröffentlicht am 28.10.2018 19:55:23 |
Lernen lernen
Veröffentlicht am 31.10.2018 16:52:15 |
Ich lerne, danke
Veröffentlicht am 23.11.2018 10:24:32 |
Nicht schlecht, sehr gut
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com