Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 156057|Відповідь: 37

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

[Копіювати посилання]
Опубліковано 04.04.2018 17:10:42 | | | |
По-перше, наступні дві статті на .net/c# Zookeeper розповсюджував замки:

Вхід за гіперпосиланням видно.

Вхід за гіперпосиланням видно.

Насправді, наведені вище дві статті є неправильними! Повністю вводячи в оману розробників програмістів!


Про насІнструкція з встановлення Zookeeper:

【Практичний бойовий посібник】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