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: 163142|Răspunde: 27

[.NET Core] [Luptă propriu-zisă] ASP.NET Core se bazează pe vânzarea flash a lacătei distribuite Redis

[Copiază linkul]
Postat pe 26.09.2020 15:34:26 | | | |
Blocajul distribuit bazat pe zk, scris anterior, este următorul:

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

.NET Core implementează analiza principiului de blocare distribuită bazată pe Redis
https://www.itsvse.com/thread-9391-1-1.html
Principiul implementării blocajelor distribuite în Redis este să apelezi comanda SETNX de la redis, iar dacă cheia există deja, comanda SETNX nu face nimic. Comanda returnează 1 când setarea reușește și 0 când setarea eșuează.


În primul rând, site-ul nostru simulează 10.000 de produse, apoi scrie o consolă care simulează o cerere HTTP, care durează 40 de secunde pentru a finaliza achiziția, randarea fiind următoarea:



Creează un nou site web ASP.NET Core 3.1, iar pachetul de blocare redis este următorul:

Am văzut că multe lacăte de lansare pe Internet sunt scrise astfel:

Totuși, pare că ar putea exista o problemă; în cazul concurenței, este posibil să se returneze adevărat la momentul hotărârii, este într-adevăr un blocaj adăugat de unul singur, dar când blocajul este șters, poate fi înÎn cazuri extreme, blocarea a fost obținută de un alt fir de discuție, în cazul în care blocarea altcuiva este ștearsă.

Prin urmare, când obții o lacăt, trebuie să deschizi un fir pentru a prelungi timpul de expirare al lacătului.

Interfața WeatherForecastController este următoarea:


Poți începe site-ul API prin linia de comandă, care poate fi repornită ușor, astfel:



Creează o nouă cerere HTTP mockup .NET Core pentru achiziție rapidă, codul este următorul:


Dacă este ceva în neregulă, mulțumesc că l-ai corectat.

În final, atașează codul sursă:

Turiști, dacă vreți să vedeți conținutul ascuns al acestei postări, vă rogRăspunde





Precedent:JS se adaptează la graficul caruselului de dimensiunea ecranului
Următor:Această explicație detaliată a Javascript
 Proprietarul| Postat pe 09.05.2021 21:12:58 |
Simulările de pe site-uri web au10000 de articole, și apoi a scris o consolă pentru a simula timpul cererii HTTP Emisiunea cu casa închisă este finalizată în 6 secunde


.NET Core implementează blocaje distribuite bazate pe Redis Lua [cu cod sursă]
https://www.itsvse.com/thread-9642-1-1.html


Postat pe 05.11.2023 11:02:52 |
Uită-te la Console.WriteLine($"Rush Successful: {safeInstanceSuccessfuledCount}, Failed: {safeInstanceFailedCount}, Sold out: {safeInstanceDoneCount}");
 Proprietarul| Postat pe 27.04.2021 11:17:53 |
Există unele probleme cu codul, iar blocarea sarcinii ar trebui să folosească await Task.Delay(i);  , nu folosi somnul
Postat pe 27.09.2020 14:13:33 |
Mark, mark, mark
Postat pe 05.10.2020 11:12:20 |
Mark Mark
Postat pe 02.11.2020 15:39:13 |
dfdsfdsfds
Postat pe 05.11.2020 10:08:13 |
Codul sursă este necesar hahahahahahaha
Postat pe 02.12.2020 15:11:30 |
Mulțumesc că ai împărtășit.
Postat pe 07.12.2020 21:10:03 |
[Luptă propriu-zisă] ASP.NET Core se bazează pe vânzarea flash a lacătei distribuite Redis
Postat pe 09.12.2020 17:17:34 |
Verifică efectul real și codul sursă.
Postat pe 20.01.2021 15:17:50 |
Mulțumesc, mulțumesc, mulțumesc, mulțumesc
Postat pe 26.01.2021 16:10:46 |
MARK MARK MARK MARK
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