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

Изглед: 156057|Отговор: 37

[Конзолна програма] .net/c# Zookeeper разпределена заключваща имплементация [Изходен код]

[Копирай линк]
Публикувано в 4.04.2018 г. 17:10:42 ч. | | | |
Първо, следните две статии в .net/c# Zookeeper разпространяваше ключалки:

Входът към хиперлинк е видим.

Входът към хиперлинк е видим.

Всъщност горните две статии са грешни! Напълно подвеждащо програмистите!


За насРъководство за инсталиране на Zookeeper:

【Practical Combat】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 обекта
Публикувано в 6.05.2019 г. 18:15:55 ч. |
LZ, погледнах изходния код и той не обработваше операции с тайм-аут на zk като освобождаване на заключвания, независимо дали беше заради механизма на временния възел на ZK. Ако ZK е изключен, възелът автоматично се изтрива.
Публикувано в 3.07.2019 г. 11:16:25 ч. |
Грешка при изпълнение: Хвърля изключение от типа ZooKeeperNet.KeeperException+ConnectionLossException.
Публикувано в 6.05.2019 г. 18:17:02 ч. |
В случая с един zk може да няма проблем. Ако ZK е клъстер, ще има ли проблеми с производителността на 3 zk синхронизирани актуализации?
Публикувано в 8.04.2018 г. 16:32:38 ч. |
Благодаря, че сподели, нека разгледаме
Публикувано в 1.06.2018 г. 12:01:39 ч. |
Благодаря, че сподели
Публикувано в 5.07.2018 г. 12:31:02 ч. |
Хубав пост
Публикувано в 10.07.2018 г. 12:11:14 ч. |
Марк
Марк
Марк
Марк
Публикувано в 11.07.2018 г. 15:47:20 ч. |
Да, работим по схема за внедряване на заключване на разпределение
Публикувано в 1.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