Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 156057|Antwoord: 37

[Consoleprogramma] .net/c# Zookeeper Distributed Lock-implementatie [Broncode]

[Link kopiëren]
Geplaatst op 04-04-2018 17:10:42 | | | |
Ten eerste, de volgende twee artikelen over .net/c# Zookeeper verspreidden sloten:

De hyperlink-login is zichtbaar.

De hyperlink-login is zichtbaar.

In feite zijn de bovenstaande twee artikelen onjuist! Volledig misleidende programmeerontwikkelaars!


OverHandleiding voor de installatie van Zookeeper:

【Practical Combat】Zookeeper installatiehandleiding in Windows-omgeving
http://www.itsvse.com/thread-4603-1-1.html
(Bron: Architect_Programmer)

Het implementatieprincipe van Zookeeper distributed lock wordt in eenvoudige termen uitgelegd:

1: Leg alle kindnodes onder de locker

2: Alle subknooppunten zijn gesorteerd, hier zijn twee situaties

Als je node het kleinste serienummer heeft, wordt de client beschouwd als de verkregen van de lock. Je kunt je eigen ding doen!
Als je knooppunt niet het kleinste serienummer heeft, is de knoop die naar de kleinste knoop luistert niet de vorige knoop die kleiner is dan jij!! Let hier op!
(Omdat je vorige node kan uitlopen en het slot kan loslaten!) )

3: Wacht op de Zookeeper-melding, en herhaal dan de bewerking van 2, trek alle knooppunten eruit, sorteer ze en beoordeel of je de kleinste knoop bent............

Als we het principe kennen, laten we eens kijken waarom de twee belangrijkste inleidingen van het artikel onjuist zijn?





Als je naar het voorbeeld van de volgorde in het artikel kijkt, voelt het correct, en het resultaat na het rennen is ook correct! Als je het echter een paar keer test, zul je merken dat de code in het artikel volledig fout is!!!

Dus, wetende wat het principe is, laten we het zelf schrijven! Hoe dan ook, het is niet de eerste keer dat ik op internet door code word gepit!

Hier is de juiste gif:



Oproepcode:



De gebruikte ZooKeeperNet.dll versie is 3.4.6.1

[Echte gevechten] ASP.NET Core is gebaseerd op Redis distributed lock flash sale
https://www.itsvse.com/thread-9397-1-1.html

Voeg tenslotte de broncode bij:

Toeristen, als jullie de verborgen inhoud van dit bericht willen zien, alsjeblieftAntwoord





Vorig:Los het probleem op van "Een wachtwoord gebruiken op de commandoregelinterface... "
Volgend:jquery krijgt het labeltype van het jquery-object
Geplaatst op 06-05-2019 18:15:55 |
LZ, ik heb naar de broncode gekeken en die handelde geen zk-timeout-operaties zoals het loslaten van locks, of dat nu kwam door het ZK-tijdelijke node-mechanisme. Als de zk wordt losgekoppeld, wordt de node automatisch verwijderd.
Geplaatst op 03-07-2019 11:16:25 |
Run error: Gooit een uitzondering van het type ZooKeeperNet.KeeperException+ConnectionLossException.
Geplaatst op 06-05-2019 18:17:02 |
In het geval van een enkele zk is er mogelijk geen probleem. Als zk een cluster is, zullen er dan problemen zijn met de prestaties van 3 zk data-gesynchroniseerde updates?
Geplaatst op 08-04-2018 16:32:38 |
Bedankt voor het delen, laten we eens kijken
Geplaatst op 01-06-2018 12:01:39 |
Bedankt voor het delen
Geplaatst op 05-07-2018 12:31:02 |
Mooie post
Geplaatst op 10-07-2018 12:11:14 |
Mark
Mark
Mark
Mark
Geplaatst op 11-07-2018 15:47:20 |
Ja, we werken aan een distributieslotimplementatieschema
Geplaatst op 01-08-2018 12:52:23 |
Laten we eens kijken
Geplaatst op 28-10-2018 19:55:23 |
Leer leren
Geplaatst op 31-10-2018 16:52:15 |
Studeren, dank je wel
Geplaatst op 23-11-2018 10:24:32 |
Niet slecht, heel goed
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com