架构师_程序员_码农网

Имя пользователя Получить пароль
Регистрация

QQ登录

Всего один шаг, чтобы начать

Поиск
Просмотров:28185|Ответов: 2
打印 上一主题 下一主题

[NET Core Redis Lua-based distributed locking [с исходным кодом].

[Скопировать ссылку].
Поднимайте прямо к 跳转到指定楼层
владелец
发表于 2021-5-9 21:11:18|只看该作者回帖奖励|Реверсивныйпросмотр|Режим чтения
Сценарии применения распределенной блокировки: С развитием бизнеса, монолитные приложения превращаются в кластеры, распределенная блокировка призвана решить проблему параллелизма различных процессов (потоков) при работе с одним и тем же ресурсом, в некоторых случаях от бизнеса требуется работа одного потока, примеры: изменение суммы депозитов, изменение инвентаризации товаров и так далее.

Обзор:

NET Core Redis-based Distributed Locking Principle Analysis
h ttps:// www.itsvse.com/thread-9391-1-1.html

NET/c# Zookeeper Distributed Lock Implementation [исходный код]
h ttps:// www.itsvse.com/thread-4651-1-1.html

Redis с помощью скриптов Lua
h ttps:// www.itsvse.com/thread-9634-1-1.html

ASP.NET Core Based Redis Distributed Locking Seconds [Практика]
h ttps:// www.itsvse.com/thread-9397-1-1.html

В статье "Убийство распределенной блокировки Redis на основе NET Core" мы добавили новую блокировку, одновременно открыв фоновый поток для увеличения времени блокировки, чтобы гарантировать, что при освобождении блокировки не произойдет случайного удаления блокировки, занятой другими потоками.

После того как вы научились использовать Lua-скрипты с Redis, вы сможете напрямую использовать скрипты для выполнения операций по занятию и освобождению блокировок.


Прежде всего, давайте рассмотрим следующий эффект:



Сначала мы открыли 1000 параллельных потоков для борьбы за блокировку, время истечения блокировки 5 секунд, мы завершили 1000 потоков за 5 секунд, только 1 поток успешно получил блокировку, подождите 6 секунд, блокировка автоматически освободится, вы можете видеть, что вторая задача успешно получила блокировку, и сразу же освободила блокировку, код за блокировкой и успешно получил блокировку.

Скрипт lua для получения блокировки выглядит следующим образом:

Скрипт lua для снятия блокировки выглядит следующим образом:

Код интерфейса:

Скачать исходный код: https: //down.itsvse.com/item/25366.html

Изменить "[Практика] ASP.NET Core на основе Redis распределенной блокировки секунд" с помощью этой статьи для достижения, наш сайт моделирования 10 000 единиц товара, а затем написал консоль для моделирования HTTP-запроса время 6 секунд, чтобы завершить выхватывание, следующий график:

ASP.NET Core на основе Redis распределенной блокировки секунд
h ttps:// www.itsvse.com/thread-9397-1-1.html



Измените код запроса на симуляцию теста:



(конец)




Предыдущая статья: Kafka вручную устанавливает смещение смещения
Следующая:ASP .NET Core get request full URL link
Код фермерской сети, публикуется только по ходу практики, возникли технические трудности, не вводите в заблуждение других.
выход диванов
发表于 2021-11-4 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:}{:1_1:}{:1_1:}
Кодекс фермера, публикуется только в процессе практики, возникли технические трудности, не вводите в заблуждение других.
Скамейка
发表于 2022-6-11 13:36:33|只看该作者
Спасибо!
Код фермерской сети, опубликован только в процессе практики, возникли технические трудности, не вводите в заблуждение других.
Вы должны войти в систему, прежде чем сможете отправлять сообщения назад Войти | Зарегистрироваться

Эта версия интегральных правил


DISCLAIMER: Все программное обеспечение, материалы по программированию или статьи, опубликованные Code Farmer, используются только в учебных и исследовательских целях; вышеуказанное содержание не должно использоваться в коммерческих или незаконных целях, в противном случае все последствия должны быть возложены на пользователя. Это сайт информации из сети, спор об авторских правах не имеет никакого отношения к этому сайту. Вы должны полностью удалить вышеуказанное содержимое со своего компьютера в течение 24 часов после загрузки. Если вам понравилась программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшее подлинное обслуживание. Если есть какие-либо нарушения, пожалуйста, свяжитесь с нами по электронной почте, чтобы разобраться с этим.

Почта To:help@itsvse.com

QQ| ( 鲁ICP备14021824号-2)|Sitemap

GMT+8, 2024-9-19 01:20

Быстрый ответНазад к началуНазад к списку