Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 50989|Svar: 2

[Källa] .NET Core implementerar distribuerade lås baserade på Redis Lua [med källkod]

[Kopiera länk]
Publicerad den 2021-5-9 21:11:18 | | | |
Tillämpningsscenarier för distribuerade lås: Med utvecklingen av tjänster blir enskilda applikationer kluster, distribuerade lås löser driften av olika processer (trådar) på samma resurs i samtidiga situationer, och vissa tjänster måste kräva en enda tråd för att fungera, till exempel: förändringar i insättningsbelopp, förändringar i varulager, etc.

Recension:

.NET Core implementerar principen för distribuerat lås baserat på Redis
https://www.itsvse.com/thread-9391-1-1.html

.net/c# Zookeeper distribuerad låsimplementering [källkod]
https://www.itsvse.com/thread-4651-1-1.html

Redis använder Lua-skript för detaljerade förklaringar
https://www.itsvse.com/thread-9634-1-1.html

[Faktisk strid] ASP.NET Core är baserat på Redis distribuerade låsflash-försäljning
https://www.itsvse.com/thread-9397-1-1.html

I den föregående artikeln "[Practice]ASP.NET Core Based on Redis Distributed Lock Flash Kill", när vi lade till ett lås, aktiverade vi också en bakgrundstråd för att förlänga låstiden, så att låset som är upptaget av andra trådar inte av misstag raderas när låset släpps.

Efter att ha lärt dig Redis att använda Lua-skript kan du enkelt använda skript för att slutföra och frigöra beläggningslussar.


Först ska vi titta på renderingarna enligt följande:



Vi öppnade först 1000 parallella trådar för att konkurrera om låset, och låset gick ut i 5 sekunder.Vi klarade 1000 trådar på 5 sekunder, och endast en tråd lyckades få låsetEfter att ha väntat i 6 sekunder släpps låset automatiskt, och du kan se att den andra uppgiften har lyckats få låset och omedelbart släppt låset, och den efterföljande koden har lyckats låsa låset.

Lua-skriptet för att få låset är följande:

Lua-skriptet för att släppa låset är följande:

Gränssnittskod:

Källkodsnedladdning:Inloggningen med hyperlänken är synlig.

Modifiera "[Practice] ASP.NET Core baserat på Redis distributed lock flash sale" är implementerat med denna artikel, och vår webbplats simulerar det10 000 föremål, och skrev sedan en konsol för att simulera HTTP-förfrågningstidenSlutsålda är klar på 6 sekunder, som visas i figuren nedan:

[Faktisk strid] ASP.NET Core är baserat på Redis distribuerade låsflash-försäljning
https://www.itsvse.com/thread-9397-1-1.html



Modifiera kod för testsimuleringsförfrågningar:



(Slut)




Föregående:Kafka ställer manuellt in offsetoffset
Nästa:ASP.NET Core får länken till förfrågan om full URL
Publicerad den 2021-11-4 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:}
Publicerad den 2022-6-11 13:36:33 |
Tack, tack
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com