Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 50989|Atbildi: 2

[Avots] .NET Core ievieš izplatītas slēdzenes, kuru pamatā ir Redis Lua [ar avota kodu]

[Kopēt saiti]
Publicēts 2021-5-9 21:11:18 | | | |
Izplatīto slēdzeņu piemērošanas scenāriji: Attīstoties pakalpojumiem, atsevišķas lietojumprogrammas kļūst par klasteriem, sadalītās slēdzenes atrisina dažādu procesu (pavedienu) darbību vienā un tajā pašā resursā vienlaicīgās situācijās, un dažiem pakalpojumiem ir nepieciešams viens pavediens, piemēram: noguldījumu summu izmaiņas, preču krājumu izmaiņas utt.

Pārskats:

.NET Core ievieš sadalītās bloķēšanas principa parsēšanu, pamatojoties uz Redis
https://www.itsvse.com/thread-9391-1-1.html

.net/c# Zookeeper izplatītās slēdzenes ieviešana [avota kods]
https://www.itsvse.com/thread-4651-1-1.html

Redis detalizētiem skaidrojumiem izmanto Lua skriptus
https://www.itsvse.com/thread-9634-1-1.html

[Faktiskā cīņa] ASP.NET Core ir balstīts uz Redis izplatītās slēdzenes zibspuldzes pārdošanu
https://www.itsvse.com/thread-9397-1-1.html

Iepriekšējā rakstā "[Prakse]ASP.NET kodols, kas balstīts uz Redis Distributed Lock Flash Kill", kad mēs pievienojām slēdzeni, mēs arī iespējojām fona pavedienu, lai pagarinātu bloķēšanas laiku, lai nodrošinātu, ka, atlaižot slēdzeni, citu pavedienu aizņemtā slēdzene netiks kļūdaini izdzēsta.

Pēc tam, kad esat iemācījies Redis izmantot Lua skriptus, varat viegli izmantot skriptus, lai pabeigtu noslogojuma bloķēšanu un atbrīvotu slēdzenes.


Pirmkārt, apskatīsim atveidojumus šādi:



Mēs vispirms atvērām 1000 paralēlus pavedienus, lai sacenstos par slēdzeni, un slēdzene beidzās 5 sekundes.Mēs pabeidzām 1000 pavedienus 5 sekundēs, un tikai 1 pavediens veiksmīgi ieguva slēdzeniPēc 6 sekunžu gaidīšanas slēdzene tiks automātiski atbrīvota, un jūs varat redzēt, ka otrais uzdevums ir veiksmīgi ieguvis slēdzeni un nekavējoties atbrīvojis slēdzeni, un nākamais kods ir veiksmīgi ieguvis slēdzeni.

Lua skripts, lai iegūtu slēdzeni, ir šāds:

Lua skripts, lai atbrīvotu slēdzeni, ir šāds:

Interfeisa kods:

Avota koda lejupielāde:Hipersaites pieteikšanās ir redzama.

Modificēt "[Prakse] ASP.NET Core, pamatojoties uz Redis izplatītās slēdzenes zibspuldzes pārdošanu" tiek īstenots, izmantojot šo rakstu, un mūsu vietne to simulē10000 precesun pēc tam uzrakstīja konsoli, lai simulētu HTTP pieprasījuma laikuIzpārdotais tiek pabeigts 6 sekundēs, kā parādīts attēlā:

[Faktiskā cīņa] ASP.NET Core ir balstīts uz Redis izplatītās slēdzenes zibspuldzes pārdošanu
https://www.itsvse.com/thread-9397-1-1.html



Mainīt testa simulācijas pieprasījuma kodu:



(Beigas)




Iepriekšējo:Kafka manuāli iestata nobīdi
Nākamo:ASP.NET Core saņem pieprasījuma pilnu URL saiti
Publicēts 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:}
Publicēts 2022-6-11 13:36:33 |
Paldies, paldies
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com