Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 50989|Răspunde: 2

[Sursă] .NET Core implementează blocaje distribuite bazate pe Redis Lua [cu cod sursă]

[Copiază linkul]
Postat la 2021-5-9 21:11:18 | | | |
Scenarii de aplicare ale blocajelor distribuite: Odată cu dezvoltarea serviciilor, aplicațiile individuale devin clustere, blocările distribuite rezolvă funcționarea diferitelor procese (fire) pe aceeași resursă în situații concurente, iar unele servicii trebuie să necesite un singur fir pentru a funcționa, de exemplu: modificări ale sumelor depozitelor, modificări ale stocurilor de mărfuri etc.

Recenzie:

.NET Core implementează analiza principiului de blocare distribuită bazată pe Redis
https://www.itsvse.com/thread-9391-1-1.html

.net/c# Implementarea blocării distribuite Zookeeper [Cod sursă]
https://www.itsvse.com/thread-4651-1-1.html

Redis folosește scripturi Lua pentru explicații detaliate
https://www.itsvse.com/thread-9634-1-1.html

[Luptă propriu-zisă] ASP.NET Core se bazează pe vânzarea flash a lacătei distribuite Redis
https://www.itsvse.com/thread-9397-1-1.html

În articolul anterior "[Practice]ASP.NET Core Based on Redis Distributed Lock Flash Kill", când am adăugat o blocare, am activat și un fir de legătură în fundal pentru a prelungi timpul de blocare, astfel încât atunci când blocarea este eliberată, blocarea ocupată de alte fire nu va fi ștearsă din greșeală.

După ce înveți Redis să folosești scripturi Lua, poți folosi ușor scripturi pentru a completa blocajele de ocupare și a elibera blocaje.


Mai întâi, să aruncăm o privire la randări astfel:



Mai întâi am deschis 1000 de fire paralele pentru a concura pentru lacăt, iar lacătul a expirat timp de 5 secunde.Am finalizat 1000 de fire în 5 secunde și doar un fir a reușit să obțină blocajulDupă așteptarea de 6 secunde, încuietoarea se eliberează automat, iar tu poți vedea că a doua sarcină a obținut cu succes încuietoarea, a eliberat-o imediat, iar codul ulterior a obținut cu succes blocarea.

Scriptul lua pentru a obține blocajul este următorul:

Scriptul lua pentru eliberarea lacătului este următorul:

Cod de interfață:

Descărcare cod sursă:Autentificarea cu hyperlink este vizibilă.

Modifică "[Practice] ASP.NET Core bazat pe lock-ul distribuit Redis este implementat folosind acest articol, iar site-ul nostru o simulează10000 de articole, și apoi a scris o consolă pentru a simula timpul cererii HTTPEmisiunea cu casa închisă este finalizată în 6 secunde, așa cum se arată în figura de mai jos:

[Luptă propriu-zisă] ASP.NET Core se bazează pe vânzarea flash a lacătei distribuite Redis
https://www.itsvse.com/thread-9397-1-1.html



Modificați codul cererii de simulare a testului:



(Sfârșit)




Precedent:Kafka setează manual offset-ul
Următor:ASP.NET Core primește linkul URL complet al cererii
Postat la 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:}
Postat la 2022-6-11 13:36:33 |
Mulțumesc, mulțumesc
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com