Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 156057|Svar: 37

[Konsolprogram] .net/c# Zookeeper distribueret låseimplementering [kildekode]

[Kopier link]
Opslået på 04/04/2018 17.10.42 | | | |
Først følger følgende to artikler om .net/c# Zookeeper-distribuerede låse:

Hyperlink-login er synlig.

Hyperlink-login er synlig.

Faktisk er de to ovenstående artikler forkerte! Fuldstændig vildledende programmeringsudviklere!


OmZookeeper installationsvejledning:

【Practical Combat】Zookeeper installationsvejledning i Windows-miljø
http://www.itsvse.com/thread-4603-1-1.html
(Kilde: Architect_Programmer)

Implementeringsprincippet for Zookeeper distribueret lås forklares i enkle vendinger:

1: Få alle børnenoder under skabet

2: Alle undernoder er sorteret, her er to situationer

Hvis din node har det mindste serienummer, anses klienten for at have opnået låsen. Du kan gøre dit eget!
Hvis din node ikke har det mindste serienummer, er den node, der lytter til den mindste, ikke den forrige node, der er mindre end dig!! Vær opmærksom her!
(Fordi din tidligere node kan gå ud og frigive låsen!) )

3: Vent på Zookeeper-notifikationen, og gentag derefter operationen 2, træk alle noder, sorter dem og vurder, om du er den mindste node............

Når vi kender princippet, lad os se på, hvorfor de to øverste introduktioner i artiklen er forkerte?





Når man ser på eksemplet med rækkefølgen i artiklen, føles det rigtigt, og resultatet efter at have kørt er også korrekt! Men hvis du tester det et par gange, vil du vide, at koden i artiklen er helt forkert!!!

Så, når vi kender princippet, lad os skrive det selv! Under alle omstændigheder er det ikke første gang, jeg er blevet stoppet af kode på internettet!

Her er den korrekte gif:



Opkaldskode:



Den ZooKeeperNet.dll version, der bruges, er 3.4.6.1

[Faktisk kamp] ASP.NET Core er baseret på Redis distribueret lås flash-salg
https://www.itsvse.com/thread-9397-1-1.html

Endelig vedhæft kildekoden:

Turister, hvis I vil se det skjulte indhold i dette indlæg, så vær venligSvar





Tidligere:Løs problemet med "Brug af en adgangskode på kommandolinjegrænsefladen... "
Næste:jquery får label-typen af jquery-objektet
Opslået på 06/05/2019 18.15.55 |
LZ, jeg kiggede på kildekoden, og den håndterede ikke zk-timeout-operationer som at frigive låse, uanset om det var på grund af ZK's midlertidige node-mekanisme. Hvis zk er afbrudt, slettes noden automatisk.
Opslået på 03/07/2019 11.16.25 |
Kør-fejl: Kaster en undtagelse af typen ZooKeeperNet.KeeperException+ConnectionLossException.
Opslået på 06/05/2019 18.17.02 |
I tilfælde af en enkelt zk er der måske ikke noget problem. Hvis zk er en klynge, vil der så opstå problemer med ydeevnen ved 3 ZK datasynkroniserede opdateringer?
Opslået på 08/04/2018 16.32.38 |
Tak fordi du delte, lad os tage et kig
Opslået på 01/06/2018 12.01.39 |
Tak fordi du delte
Opslået på 05/07/2018 12.31.02 |
Flot indlæg
Opslået på 10/07/2018 12.11.14 |
Mark
Mark
Mark
Mark
Opslået på 11/07/2018 15.47.20 |
Ja, vi arbejder på en distributionslås-implementeringsordning
Opslået på 01/08/2018 12.52.23 |
Lad os tage et kig
Opslået på 28/10/2018 19.55.23 |
Lær at lære
Opslået på 31/10/2018 16.52.15 |
Studerer, tak
Opslået på 23/11/2018 10.24.32 |
Ikke dårligt, meget godt
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com