Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 163142|Risposta: 27

[.NET Core] [Combattimento reale] ASP.NET Core si basa sulla vendita flash di lucchetto distribuita di Redis

[Copiato link]
Pubblicato su 26/09/2020 15:34:26 | | | |
Il blocco distribuito basato su zk scritto in precedenza è il seguente:

Implementazione di blocco distribuito .net/c# Zookeeper [codice sorgente]
https://www.itsvse.com/thread-4651-1-1.html
Redis implementa il principio del blocco distribuito:

.NET Core implementa la parsing distribuita del principio dei lock-uri basata su Redis
https://www.itsvse.com/thread-9391-1-1.html
Il principio per implementare i blocchi distribuiti in Redis è chiamare il comando SETNX di redis, e se la chiave esiste già, il comando SETNX non fa nulla. Il comando restituisce 1 quando l'impostazione ha successo e 0 quando l'impostazione fallisce.


Innanzitutto, il nostro sito simula 10.000 prodotti, poi scrive una console che simula la richiesta HTTP, che impiega 40 secondi per completare l'acquisto, il rendering è il seguente:



Crea un nuovo sito web ASP.NET Core 3.1, e il pacchetto lock-uri redis è il seguente:

Ho visto che molti lucchetti di rilascio su Internet sono scritti come segue:

Tuttavia, sembra che possa esserci un problema: nel caso di concorrenza, è possibile restituire il vero al momento della sentenza, è effettivamente un blocco aggiunto da solo, ma quando il blocco viene cancellato, può essere inIn casi estremi, il blocco è stato ottenuto da un altro thread, nel caso in cui il blocco di qualcun altro venga cancellato.

Pertanto, quando si ottiene una serratura, è necessario aprire un filo per estendere il tempo di scadenza della serratura.

L'interfaccia di WeatherForecastController è la seguente:


Puoi avviare il sito API tramite la riga di comando, che può essere facilmente riavviata, come segue:



Crea una nuova richiesta HTTP mockup .NET Core per l'acquisto rapido, il codice è il seguente:


Se c'è qualcosa che non va, grazie per averlo corretto.

Infine, allega il codice sorgente:

Turisti, se volete vedere il contenuto nascosto di questo post, vi pregoRisposta





Precedente:JS si adatta al grafico carosello della dimensione dello schermo
Prossimo:Questa spiegazione dettagliata di Javascript
 Padrone di casa| Pubblicato su 09/05/2021 21:12:58 |
Le simulazioni sui siti web hanno10000 articoli, e poi scrisse una console per simulare il tempo della richiesta HTTP Il tutto esaurito si completa in 6 secondi


.NET Core implementa locks distribuiti basati su Redis Lua [con codice sorgente]
https://www.itsvse.com/thread-9642-1-1.html


Pubblicato su 05/11/2023 11:02:52 |
Guarda Console.WriteLine($"Rush Successo: {safeInstanceSuccessfuledCount}, Failed: {safeInstanceFailedCount}, Sold Out: {safeInstanceDoneCount}");
 Padrone di casa| Pubblicato su 27/04/2021 11:17:53 |
Ci sono alcuni problemi con il codice, e il blocco delle attività dovrebbe usare await Task.Delay(i);  , non usare il sonno
Pubblicato su 27/09/2020 14:13:33 |
Mark, mark, mark
Pubblicato su 05/10/2020 11:12:20 |
Mark Mark
Pubblicato su 02/11/2020 15:39:13 |
DFDSFDSFDS
Pubblicato su 05/11/2020 10:08:13 |
Il codice sorgente è necessario hahahahahahaha
Pubblicato su 02/12/2020 15:11:30 |
Grazie per aver condiviso.
Pubblicato su 07/12/2020 21:10:03 |
[Combattimento reale] ASP.NET Core si basa sulla vendita flash di lucchetto distribuita di Redis
Pubblicato su 09/12/2020 17:17:34 |
Guarda l'effetto reale e il codice sorgente.
Pubblicato su 20/01/2021 15:17:50 |
Grazie, grazie, grazie, grazie
Pubblicato su 26/01/2021 16:10:46 |
MARK MARK
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com