Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 156057|Svare: 37

[Konsollprogram] .net/c# Zookeeper distribuert lås-implementering [kildekode]

[Kopier lenke]
Publisert på 04.04.2018 17:10:42 | | | |
Først, følgende to artikler om .net/c# Zookeeper-distribuerte låser:

Innloggingen med hyperkoblingen er synlig.

Innloggingen med hyperkoblingen er synlig.

Faktisk er de to ovennevnte artiklene feil! Fullstendig misvisende programmeringsutviklere!


OmInstallasjonsveiledning for Zookeeper:

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

Implementeringsprinsippet for Zookeeper distribuert lås forklares på en enkel måte:

1: Få alle barnenodene under skapet

2: Alle undernoder er sortert, her er to situasjoner

Hvis noden din har det minste serienummeret, anses klienten å ha fått tak i låsen. Du kan gjøre din egen greie!
Hvis noden din ikke har det minste serienummeret, er ikke noden som lytter til den minste noden den forrige noden som er mindre enn deg!! Følg med her!
(Fordi, din forrige node kan gå ut og slippe låsen!) )

3: Vent på Zookeeper-varslingen, og gjenta deretter operasjonen til 2, trekk ut alle noder, sorter dem, og vurder om du er den minste noden............

Når vi kjenner prinsippet, la oss se på hvorfor de to øverste innledningene i artikkelen er feil?





Når man ser på eksempelet med rekkefølgen i artikkelen, føles det riktig, og resultatet etter å ha kjørt er også riktig! Men hvis du tester det noen ganger, vil du vite at koden i artikkelen er helt feil!!!

Så, med prinsippet kjent, la oss skrive det selv! Uansett, det er ikke første gang jeg har blitt utsatt for kode på Internett!

Her er riktig gif:



Anropskode:



Den ZooKeeperNet.dll versjonen som brukes er 3.4.6.1

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

Til slutt, legg ved kildekoden:

Turister, hvis dere vil se det skjulte innholdet i dette innlegget, vær så snillSvare





Foregående:Løs problemet med «Å bruke et passord på kommandolinjegrensesnittet... "
Neste:jquery får label-typen til jquery-objektet
Publisert på 06.05.2019 18:15:55 |
LZ, jeg så på kildekoden og den håndterte ikke zk-timeout-operasjoner som å frigjøre låser, enten det var på grunn av ZK-mekanismen for midlertidige noder. Hvis zk kobles fra, slettes noden automatisk.
Publisert på 03.07.2019 11:16:25 |
Kjørefeil: Kaster et unntak av typen ZooKeeperNet.KeeperException+ConnectionLossException.
Publisert på 06.05.2019 18:17:02 |
I tilfellet med en enkelt zk kan det ikke være noe problem. Hvis zk er en klynge, vil det da oppstå problemer med ytelsen til 3 zk datasynkroniserte oppdateringer?
Publisert på 08.04.2018 16:32:38 |
Takk for at du delte, la oss ta en titt
Publisert på 01.06.2018 12:01:39 |
Takk for at du delte
Publisert på 05.07.2018 12:31:02 |
Bra innlegg
Publisert på 10.07.2018 12:11:14 |



Publisert på 11.07.2018 15:47:20 |
Ja, vi jobber med en implementeringsordning for distribusjonslås
Publisert på 01.08.2018 12:52:23 |
La oss ta en titt
Publisert på 28.10.2018 19:55:23 |
Lær å lære
Publisert på 31.10.2018 16:52:15 |
Studerer, takk
Publisert på 23.11.2018 10:24:32 |
Ikke verst, veldig bra
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com