Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 50989|Antwort: 2

[Quelle] .NET Core implementiert verteilte Sperren basierend auf Redis Lua [mit Quellcode]

[Link kopieren]
Veröffentlicht am 09.05.2021, 21:11:18 | | | |
Anwendungsszenarien verteilter Sperren: Mit der Entwicklung von Diensten werden einzelne Anwendungen zu Clustern, verteilte Sperren lösen den Betrieb verschiedener Prozesse (Threads) auf derselben Ressource in gleichzeitigen Situationen, und einige Dienste benötigen einen einzelnen Thread zum Funktionieren, zum Beispiel: Änderungen der Einlagenbeträge, Änderungen im Warenbestand usw.

Rezension:

.NET Core implementiert das Parsing des Distributed Lock-Prinzips basierend auf Redis
https://www.itsvse.com/thread-9391-1-1.html

.net/c# Zookeeper Distributed Lock-Implementierung [Quellcode]
https://www.itsvse.com/thread-4651-1-1.html

Redis verwendet Lua-Skripte für detaillierte Erklärungen
https://www.itsvse.com/thread-9634-1-1.html

[Tatsächlicher Kampf] ASP.NET Core basiert auf Redis Distributed Lock Flash Sale
https://www.itsvse.com/thread-9397-1-1.html

Im vorherigen Artikel "[Practice]ASP.NET Core Based on Redis Distributed Lock Flash Kill" haben wir beim Hinzufügen eines Locks auch einen Hintergrundthread aktiviert, um die Sperrzeit zu verlängern, um sicherzustellen, dass beim Öffnen der Sperre nicht versehentlich gelöscht wird.

Nachdem du Redis gelernt hast, Lua-Skripte zu verwenden, kannst du Skripte problemlos nutzen, um Belegungsschlösser zu lösen und zu lösen.


Zunächst werfen wir einen Blick auf die Renderings wie folgt:



Zuerst öffneten wir 1000 parallele Gewinde, um um das Schloss zu konkurrieren, und das Schloss lief für 5 Sekunden ab.Wir haben 1000 Threads in 5 Sekunden abgeschlossen, und nur ein Thread hat erfolgreich die Sperre erhaltenNach 6 Sekunden Warten wird das Schloss automatisch freigegeben, und man sieht, dass die zweite Aufgabe das Schloss erfolgreich erreicht hat, es sofort freigegeben hat, und der nachfolgende Code hat das Schloss erfolgreich erreicht.

Das Lua-Skript, um das Lock zu erhalten, ist wie folgt:

Das Lua-Skript zur Aufhebung des Schlosses lautet wie folgt:

Schnittstellencode:

Quellcode-Download:Der Hyperlink-Login ist sichtbar.

Modify "[Practice] ASP.NET Core based on Redis distributed lock flash sale" wird in diesem Artikel implementiert, und unsere Website simuliert es10.000 Artikel, und schrieb dann eine Konsole, um die HTTP-Anfragezeit zu simulierenDas ausverkaufte Spiel ist in 6 Sekunden abgeschlossen, wie in der untenstehenden Abbildung dargestellt:

[Tatsächlicher Kampf] ASP.NET Core basiert auf Redis Distributed Lock Flash Sale
https://www.itsvse.com/thread-9397-1-1.html



Ändern Sie den Testsimulationsanforderungscode:



(Ende)




Vorhergehend:Kafka stellt den Offset manuell ein
Nächster:ASP.NET Core erhält den Link zur vollständigen URL der Anfrage
Veröffentlicht am 4.11.2021, 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:}
Veröffentlicht am 11.06.2022, 13:36:33 |
Danke, danke
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com