Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 50989|Odpoveď: 2

[Zdroj] .NET Core implementuje distribuované zámky založené na Redis Lua [so zdrojovým kódom]

[Kopírovať odkaz]
Zverejnené 9.5.2021 21:11:18 | | | |
Aplikačné scenáre distribuovaných zámkov: Pri vývoji služieb sa jednotlivé aplikácie stávajú klastrami, distribuované zámky riešia prevádzku rôznych procesov (vlákien) na tom istom zdroji v súbežných situáciách a niektoré služby musia vyžadovať jedno vlákno na prevádzku, napríklad: zmeny vo výške vkladov, zmeny v zásobách komodít a podobne.

Revízia:

.NET Core implementuje distribuované parsovanie princípu zámkov na základe Redis
https://www.itsvse.com/thread-9391-1-1.html

.net/c# Implementácia distribuovaného zámku Zookeeper [Zdrojový kód]
https://www.itsvse.com/thread-4651-1-1.html

Redis používa písmo Lua na podrobné vysvetlenia
https://www.itsvse.com/thread-9634-1-1.html

[Skutočný boj] ASP.NET Core je založený na Redis distribuovanom výpredaji zámkov
https://www.itsvse.com/thread-9397-1-1.html

V predchádzajúcom článku "[Practice]ASP.NET Core Based on Redis Distributed Lock Flash Kill" sme pri pridávaní zámku tiež povolili pozadie vlákna na predĺženie času zámku, aby sme zabezpečili, že keď sa zámok uvoľní, zámok obsadený inými vláknami nebude omylom vymazaný.

Po naučení sa Redis používať Lua skripty môžete jednoducho použiť skripty na dokončenie zámkov obsadenosti a uvoľnenie zámkov.


Najprv sa pozrime na vizualizácie nasledovne:



Najprv sme otvorili 1000 paralelných vlákien, aby sme súťažili o zámok, a zámok vypršal na 5 sekúnd.Dokončili sme 1000 vlákien za 5 sekúnd a len jedno vlákno úspešne získalo zámokPo 6 sekundách sa zámok automaticky uvoľní a vidíte, že druhá úloha úspešne získala zámok, okamžite ho uvoľnila a následný kód úspešne získal zámok.

Lua skript na získanie zámku je nasledovný:

Lua skript na uvoľnenie zámku je nasledovný:

Kód rozhrania:

Stiahnutie zdrojového kódu:Prihlásenie na hypertextový odkaz je viditeľné.

Upraviť "[Practice] ASP.NET Core based on Redis distributed lock flash sale" je implementované pomocou tohto článku a naša webová stránka ho simuluje10000 položiek, a potom napísal konzolu na simuláciu času HTTP požiadavkyVypredaný zápas trvá 6 sekúnd, ako je znázornené na obrázku nižšie:

[Skutočný boj] ASP.NET Core je založený na Redis distribuovanom výpredaji zámkov
https://www.itsvse.com/thread-9397-1-1.html



Upraviť kód požiadavky na testovaciu simuláciu:



(Koniec)




Predchádzajúci:Kafka manuálne nastavuje offsetový offset
Budúci:ASP.NET Core dostáva požiadavku na plnú URL linku
Zverejnené 4. 11. 2021 o 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:}
Zverejnené 11. 6. 2022 o 13:36:33 |
Ďakujem, ďakujem
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com