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

Udsigt: 50989|Svar: 2

[Kilde] .NET Core implementerer distribuerede låse baseret på Redis Lua [med kildekode]

[Kopier link]
Opslået den 9-5-2021 kl. 21:11:18 | | | |
Anvendelsesscenarier for distribuerede låse: Med udviklingen af tjenester bliver enkelte applikationer til klynger, distribuerede låse løser driften af forskellige processer (tråde) på samme ressource i samtidige situationer, og nogle tjenester skal kræve en enkelt tråd for at fungere, for eksempel: ændringer i depositum, ændringer i varelager osv.

Anmeldelse:

.NET Core implementerer parsing af distribueret låseprincip baseret på Redis
https://www.itsvse.com/thread-9391-1-1.html

.net/c# Zookeeper distribueret låseimplementering [kildekode]
https://www.itsvse.com/thread-4651-1-1.html

Redis bruger Lua-skrifter til detaljerede forklaringer
https://www.itsvse.com/thread-9634-1-1.html

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

I den tidligere artikel "[Practice]ASP.NET Core Based on Redis Distributed Lock Flash Kill", da vi tilføjede en lås, aktiverede vi også en baggrundstråd for at forlænge låsetiden, så låsen ikke bliver slettet, når låsen frigives.

Efter at have lært Redis at bruge Lua-scripts, kan du nemt bruge scripts til at fuldføre occupancy-låse og frigøre låse.


Lad os først se på renderingerne som følger:



Vi åbnede først 1000 parallelle tråde for at konkurrere om låsen, og låsen udløb i 5 sekunder.Vi gennemførte 1000 tråde på 5 sekunder, og kun 1 tråd fik låsenEfter at have ventet i 6 sekunder, bliver låsen automatisk frigivet, og du kan se, at den anden opgave har opnået låsen og straks frigivet låsen, og den efterfølgende kode har opnået låsen.

Lua-scriptet til at få låsen er som følger:

Lua-scriptet til at frigøre låsen er som følger:

Interface-kode:

Kildekode-download:Hyperlink-login er synlig.

Ændr "[Practice] ASP.NET Core baseret på Redis distributed lock flash sale" er implementeret i denne artikel, og vores hjemmeside simulerer det10.000 genstande, og skrev derefter en konsol til at simulere HTTP-anmodningstidenDet udsolgte spil er færdigt på 6 sekunder, som vist i figuren nedenfor:

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



Ændr testsimuleringsanmodningskoden:



(Slut)




Tidligere:Kafka indstiller manuelt offset-offset
Næste:ASP.NET Core modtager anmodningen om fuld URL-link
Opslået den 4-11-2021 13:50:43 |
{:1_1:} {:1_1:} {:1_1:} {:1_1:} {:1_1:} {:1_1:} {:1_1:} {:1_1:} {:1_1:} {:1_1:} {:1_1:} {:1_1:} {:1_1:} {:1_1:} {:1_1:} {:1_1:}
Opslået den 2022-6-11 13:36:33 |
Tak, tak
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