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:
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
Voeg tenslotte de broncode bij:
Toeristen, als jullie de verborgen inhoud van dit bericht willen zien, alsjeblieft Antwoord
|