Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 156057|Ответ: 37

[Консольная программа] .net/c# Реализация распределённого блокировки Zookeeper [исходный код]

[Скопировать ссылку]
Опубликовано 04.04.2018 17:10:42 | | | |
Во-первых, следующие две статьи на .net/c# Zookeeper распространял замки:

Вход по гиперссылке виден.

Вход по гиперссылке виден.

На самом деле, две вышеуказанные статьи ошибочны! Полностью вводит программистов в заблуждение!


О компанииРуководство по установке Zookeeper:

【Практический бой】Tutorial по установке Zookeeper в окружении Windows
http://www.itsvse.com/thread-4603-1-1.html
(Источник: Architect_Programmer)

Принцип реализации распределённого замка Zookeeper объясняется простыми словами:

1: Заберите все дочерние узлы под шкафчик

2: Все подузлы отсортированы, вот две ситуации

Если у вашего узла самый маленький серийный номер, клиент считается обеспеченным блокировкой. Ты можешь заниматься своим делом!
Если ваш узел не имеет самый маленький серийный номер, то узел, который слушает самый маленький узел, не является предыдущим, меньше вас!! Обратите внимание сюда!
(Потому что ваш предыдущий узел может истечь время и снять блокировку!) )

3: Дождитесь уведомления Zookeeper, затем повторите операцию 2, вытяните все узлы, отсортируйте их и оцените, являетесь ли вы самым маленьким узлом............

После того как мы узнаем принцип, давайте посмотрим, почему два первых вступления статьи ошибочны?





Смотря на пример порядка в статье, он кажется правильным, и результат после запуска тоже верен! Однако, если вы проверите несколько раз, вы поймёте, что код в статье совершенно неверен!!!

Так что, зная принцип, давайте напишем это сами! В любом случае, это не первый раз, когда меня пронизывает код в интернете!

Вот правильный гиф:



Код вызова:



Используемая версия ZooKeeperNet.dll — 3.4.6.1

[Реальные бои] ASP.NET Core основан на распродаже Redis с распределёнными флэш-распродажами
https://www.itsvse.com/thread-9397-1-1.html

Наконец, приложите исходный код:

Туристы, если вы хотите увидеть скрытое содержание этого поста, пожалуйстаОтвет





Предыдущий:Решите проблему «Использование пароля в командной строке... "
Следующий:jQuery получает тип метки объекта jquery
Опубликовано 06.05.2019 18:15:55 |
LZ, я посмотрел исходный код, и там не было операций с тайм-аутом zk, например, освобождение блокировок, будь то из-за механизма временного узла ZK. Если ZK отключён, узел автоматически удаляется.
Опубликовано 03.07.2019 11:16:25 |
Ошибка запуска: Появляется исключение типа ZooKeeperNet.KeeperException+ConnectionLossException.
Опубликовано 06.05.2019 18:17:02 |
В случае одного ZK проблем может не возникнуть. Если ZK — это кластер, будут ли проблемы с производительностью 3 синхронизированных обновлений ZK?
Опубликовано 08.04.2018 16:32:38 |
Спасибо, что поделились, давайте посмотрим
Опубликовано 01.06.2018 12:01:39 |
Спасибо, что поделились
Опубликовано 05.07.2018 12:31:02 |
Хороший пост
Опубликовано 10.07.2018 12:11:14 |
Марк
Марк
Марк
Марк
Опубликовано 11.07.2018 15:47:20 |
Да, мы работаем над схемой реализации блокировки распределения
Опубликовано 01.08.2018 12:52:23 |
Давайте посмотрим
Опубликовано 28.10.2018 19:55:23 |
Учитесь учиться
Опубликовано 31.10.2018 16:52:15 |
Учусь, спасибо
Опубликовано 23.11.2018 10:24:32 |
Неплохо, очень хорошо
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com