Elosztott zárak alkalmazási forgatókönyvei: A szolgáltatások fejlődésével az egyes alkalmazások klaszterekké válnak, az elosztott zárak ugyanezen az erőforráson működő különböző folyamatok (szálak) működését oldják meg párhuzamos helyzetekben, és egyes szolgáltatások egyetlen szálat igényelnek a működéshez, például a betétek összegének változása, árukészlet változása stb.
Szemle:
Az előző cikkben, a "[Practice]ASP.NET Core Based on Redis Distributed Lock Flash Kill", amikor hozzáadtunk egy zárlatot, engedélyeztük a háttérszálat is, hogy meghosszabbítsuk a zárolási időt, hogy biztosítsuk, amikor a zárlat feloldódik, a többi szál által foglalt zár ne törlődjön véletlenül.
Miután megtanultad a Redis használatát a Lua szkriptekkel, könnyen használhatod a szkripteket a lakhatási zárak teljesítésére és a zárak feloldására.
Először nézzük meg a képeket a következőként:
Először 1000 párhuzamos szálat nyitottunk, hogy versenyezzünk a zárért, és a zár 5 másodpercre lejárt.5 másodperc alatt 1000 szálat végeztünk el, és csak 1 szál sikeresen rögzítette a zárat6 másodperc várakozás után a zár automatikusan feloldódik, és látható, hogy a második feladat sikeresen megszerezte a zárat, azonnal feloldotta a zárat, és a következő kód sikeresen megszerezte a zárat.
A lua szkriptje a zár megszerzéséhez a következő:
A lua szkriptje a zár feloldásához a következő:
Interfész kód:
Forráskód letöltés:A hiperlink bejelentkezés látható.
A "[Praktika] ASP.NET Core Redis distributed lock flash sale alapján" módosítása ezen a cikk alapján valósul meg, és weboldalunk szimulálja ezt10000 tétel, majd írt egy konzolt, amely szimulálja a HTTP kérési időtA teltházas lemez 6 másodperc alatt készül, ahogy az alábbi ábrán látható:
Módosítsuk a tesztszimulációs kéréskódot:
(Vége)
|