Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 163142|Отговор: 27

[.NET Core] [Реален бой] ASP.NET Core е базиран на разпродажба на Redis с разпределени ключалки

[Копирай линк]
Публикувано в 26.09.2020 г. 15: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 lock е следният:

Видях, че много освобождаващи заключвания в интернет са написани по следния начин:

Въпреки това, изглежда, че може да има проблем – в случай на конкурентност е възможно да се върне true в момента на преценка, това наистина е катинар, добавен сам по себе си, но когато заключването се изтрие, може да е вВ крайни случаи, заключването е получено чрез друга тема, в случай че ключалката на някой друг бъде изтрита.

Затова, при получаване на катинар, трябва да отворите нишка, за да удължите срока на валидност на ключалката.

Интерфейсът на WeatherForecastController е следният:


Можете да стартирате API уебсайта през командния ред, който лесно може да се рестартира, както следва:



Създайте нова HTTP заявка за макет на .NET Core за бърза покупка, кодът е следният:


Ако има нещо нередно, благодаря, че го коригирахте.

Накрая, прикачете изходния код:

Туристи, ако искате да видите скритото съдържание на този пост, моляОтговор





Предишен:JS се адаптира към графиката на въртележката с размер на екрана
Следващ:Това подробно обяснение на Javascript
 Хазяин| Публикувано в 9.05.2021 г. 21:12:58 ч. |
Симулациите на уебсайтовете имат10000 артикула, и след това написа конзола, която симулира времето за HTTP заявка Разпродаденият билет е завършен за 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}, Sold out: {safeInstanceDoneCount}");
 Хазяин| Публикувано в 27.04.2021 г. 11:17:53 ч. |
Има някои проблеми с кода и блокирането на задачите трябва да чака Task.Delay(i);  , не използвайте сън
Публикувано в 27.09.2020 г. 14:13:33 ч. |
Марк, марк, марк
Публикувано в 5.10.2020 г. 11:12:20 ч. |
Марк Марк Марк
Публикувано в 2.11.2020 г. 15:39:13 ч. |
dfdsfdsfds
Публикувано в 5.11.2020 г. 10:08:13 ч. |
Необходим е изходен код, хахаха
Публикувано в 2.12.2020 г. 15:11:30 ч. |
Благодаря, че сподели.
Публикувано в 7.12.2020 г. 21:10:03 ч. |
[Реален бой] ASP.NET Core е базиран на разпродажба на Redis с разпределени ключалки
Публикувано в 9.12.2020 г. 17:17:34 ч. |
Вижте самия ефект и изходния код.
Публикувано в 20.01.2021 г. 15:17:50 ч. |
Благодаря, благодаря, благодаря, благодаря
Публикувано в 26.01.2021 г. 16:10:46 ч. |
МАРК МАРК МАРК
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com