Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 163142|Απάντηση: 27

[.NET Πυρήνας] [Πραγματική μάχη] Το ASP.NET Core βασίζεται στην πώληση φλας κατανεμημένης κλειδαριάς Redis

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 26/9/2020 3:34:26 μ.μ. | | | |
Το προηγουμένως γραμμένο κατανεμημένο κλείδωμα που βασίζεται σε zk έχει ως εξής:

.net/c# Υλοποίηση κατανεμημένου κλειδώματος Zookeeper [Πηγαίος κώδικας]
https://www.itsvse.com/thread-4651-1-1.html
Το Redis εφαρμόζει την αρχή του κατανεμημένου κλειδώματος:

Το .NET Core υλοποιεί την ανάλυση της αρχής του κατανεμημένου κλειδώματος με βάση το Redis
https://www.itsvse.com/thread-9391-1-1.html
Η αρχή της υλοποίησης κατανεμημένων κλειδαριών στο Redis είναι να καλέσετε την εντολή SETNX του redis, και εάν το κλειδί υπάρχει ήδη, η εντολή SETNX δεν κάνει τίποτα. Η εντολή επιστρέφει 1 όταν η ρύθμιση είναι επιτυχής και 0 όταν η ρύθμιση αποτυγχάνει.


Αρχικά, ο ιστότοπός μας προσομοιώνει 10.000 προϊόντα και, στη συνέχεια, γράφει μια κονσόλα που προσομοιώνει το αίτημα HTTP, το οποίο διαρκεί 40 δευτερόλεπτα για να ολοκληρωθεί η αγορά, η απόδοση έχει ως εξής:



Δημιουργήστε έναν νέο ιστότοπο ASP.NET Core 3.1 και το πακέτο κλειδώματος redis έχει ως εξής:

Είδα ότι πολλές κλειδαριές απελευθέρωσης στο Διαδίκτυο είναι γραμμένες ως εξής:

Ωστόσο, φαίνεται ότι μπορεί να υπάρχει πρόβλημα, στην περίπτωση του συγχρονισμού, είναι δυνατό να επιστραφεί true τη στιγμή της κρίσης, είναι πράγματι μια κλειδαριά που προστέθηκε από μόνη της, αλλά όταν διαγραφεί η κλειδαριά, μπορεί να είναι μέσαΣε ακραίες περιπτώσεις, η κλειδαριά έχει ληφθεί από άλλο νήμα, σε περίπτωση που διαγραφεί η κλειδαριά κάποιου άλλου.

Επομένως, όταν αποκτάτε μια κλειδαριά, πρέπει να ανοίξετε ένα νήμα για να παρατείνετε τον χρόνο λήξης της κλειδαριάς.

Η διεπαφή WeatherForecastController έχει ως εξής:


Μπορείτε να ξεκινήσετε τον ιστότοπο API μέσω της γραμμής εντολών, η οποία μπορεί εύκολα να επανεκκινηθεί, ως εξής:



Δημιουργήστε ένα νέο αίτημα HTTP μακέτας .NET Core για γρήγορη αγορά, ο κώδικας έχει ως εξής:


Αν υπάρχει κάτι λάθος, σας ευχαριστώ που το διορθώσατε.

Τέλος, επισυνάψτε τον πηγαίο κώδικα:

Τουρίστες, αν θέλετε να δείτε το κρυφό περιεχόμενο αυτής της ανάρτησης, παρακαλώΑπάντηση





Προηγούμενος:Το JS προσαρμόζεται στο γράφημα καρουζέλ μεγέθους οθόνης
Επόμενος:Αυτή η λεπτομερής εξήγηση της Javascript
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 9/5/2021 9:12:58 μ.μ. |
Οι προσομοιώσεις ιστοσελίδων έχουν10000 είδηκαι, στη συνέχεια, έγραψε μια κονσόλα για να προσομοιώσει τον χρόνο αίτησης HTTP Το sold-out ολοκληρώνεται σε 6 δευτερόλεπτα


Το .NET Core υλοποιεί κατανεμημένα κλειδώματα που βασίζονται στο Redis Lua [με πηγαίο κώδικα]
https://www.itsvse.com/thread-9642-1-1.html


Δημοσιεύτηκε στις 5/11/2023 11:02:52 π.μ. |
Κοιτάξτε το Console.WriteLine($"rush successful: {safeInstanceSuccessedCount}, failed: {safeInstanceFailedCount}, εξαντλήθηκε: {safeInstanceDoneCount}");
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 27/4/2021 11:17:53 π.μ. |
Υπάρχουν ορισμένα προβλήματα με τον κώδικα και ο αποκλεισμός εργασιών θα πρέπει να χρησιμοποιεί το wait Task.Delay(i);  , μην χρησιμοποιείτε τον ύπνο
Δημοσιεύτηκε στις 27/9/2020 2:13:33 μ.μ. |
σημάδι,σημάδι,σημάδι
Δημοσιεύτηκε στις 5/10/2020 11:12:20 π.μ. |
Μαρκ Μαρκ Μαρκ
Δημοσιεύτηκε στις 2/11/2020 3:39:13 μ.μ. |
dfdsfdsfds
Δημοσιεύτηκε στις 5/11/2020 10:08:13 π.μ. |
Απαιτείται πηγαίος κώδικας χαχαχαχαχαχαχα
Δημοσιεύτηκε στις 2/12/2020 3:11:30 μ.μ. |
Ευχαριστώ που το μοιράστηκες.
Δημοσιεύτηκε στις 7/12/2020 9:10:03 μ.μ. |
[Πραγματική μάχη] Το ASP.NET Core βασίζεται στην πώληση φλας κατανεμημένης κλειδαριάς Redis
Δημοσιεύτηκε στις 9/12/2020 5:17:34 μ.μ. |
Ελέγξτε το πραγματικό εφέ και τον πηγαίο κώδικα.
Δημοσιεύτηκε στις 20/1/2021 3:17:50 μ.μ. |
Ευχαριστώ, ευχαριστώ, ευχαριστώ, ευχαριστώ
Δημοσιεύτηκε στις 26/1/2021 4:10:46 μ.μ. |
ΜΑΡΚ ΜΑΡΚ ΜΑΡΚ ΜΑΡΚ
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com