Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 50989|Atsakyti: 2

[Šaltinis] .NET Core įgyvendina paskirstytus užraktus, pagrįstus Redis Lua [su šaltinio kodu]

[Kopijuoti nuorodą]
Paskelbta 2021-5-9 21:11:18 | | | |
Paskirstytų spynų taikymo scenarijai: Tobulėjant paslaugoms, pavienės programos tampa klasteriais, paskirstytos spynos išsprendžia skirtingų procesų (gijų) veikimą tame pačiame išteklyje vienu metu, o kai kurioms paslaugoms veikti turi prireikti vienos gijos, pavyzdžiui: indėlių sumų pokyčiai, prekių atsargų pokyčiai ir kt.

Peržiūra:

.NET Core įgyvendina paskirstyto užrakto principo analizę, pagrįstą Redis
https://www.itsvse.com/thread-9391-1-1.html

.net/c# Zookeeper paskirstyto užrakto įgyvendinimas [šaltinio kodas]
https://www.itsvse.com/thread-4651-1-1.html

Redis naudoja Lua scenarijus išsamiems paaiškinimams
https://www.itsvse.com/thread-9634-1-1.html

[ Faktinė kova ] ASP.NET Core yra pagrįstas Redis paskirstyta užrakto blykstės pardavimas
https://www.itsvse.com/thread-9397-1-1.html

Ankstesniame straipsnyje "[Praktika]ASP.NET branduolys, pagrįstas "Redis Distributed Lock Flash Kill", kai pridėjome užraktą, taip pat įjungėme foninę giją, kad prailgintume užrakto laiką, kad užtikrintume, jog atleidus užraktą kitų gijų užimtas užraktas nebus klaidingai ištrintas.

Išmokę Redis naudoti Lua scenarijus, galite lengvai naudoti scenarijus, kad užbaigtumėte užimtumo užraktus ir atlaisvintumėte užraktus.


Pirmiausia pažvelkime į atvaizdus taip:



Pirmiausia atidarėme 1000 lygiagrečių gijų, kad konkuruotume dėl spynos, ir užraktas baigėsi 5 sekundes.Mes užbaigėme 1000 gijų per 5 sekundes, ir tik 1 siūlas sėkmingai įgijo užraktąPalaukus 6 sekundes, užraktas bus automatiškai atleistas ir pamatysite, kad antroji užduotis sėkmingai gavo užraktą ir iškart atleido užraktą, o paskesnis kodas sėkmingai gavo užraktą.

Lua scenarijus, norint gauti užraktą, yra toks:

Lua scenarijus, skirtas atlaisvinti užraktą, yra toks:

Sąsajos kodas:

Šaltinio kodo atsisiuntimas:Hipersaito prisijungimas matomas.

Modifikuoti "[Praktika] ASP.NET Core remiantis Redis paskirstyta spyna flash pardavimas" yra įgyvendinta naudojant šį straipsnį, ir mūsų svetainė imituoja jį10000 prekių, o tada parašė konsolę, kad imituotų HTTP užklausos laikąIšparduota per 6 sekundes, kaip parodyta toliau pateiktame paveikslėlyje:

[ Faktinė kova ] ASP.NET Core yra pagrįstas Redis paskirstyta užrakto blykstės pardavimas
https://www.itsvse.com/thread-9397-1-1.html



Pakeiskite bandymo modeliavimo užklausos kodą:



(Pabaiga)




Ankstesnis:Kafka rankiniu būdu nustato poslinkį
Kitą:"ASP.NET Core" gauna užklausos viso URL nuorodą
Publikuota: 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:}
Publikuota: 2022-6-11 13:36:33 |
Ačiū, ačiū
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com