この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 156057|答える: 37

[コンソールプログラム] .net/c# Zookeeper分散ロック実装 [ソースコード]

[リンクをコピー]
掲載地 2018/04/04 17:10:42 | | | |
まず、.net/c#のZookeeperに関する以下の2つの記事が配布ロックについて述べました。

ハイパーリンクのログインが見えます。

ハイパーリンクのログインが見えます。

実際、上記の2つの記事は間違っています! 完全に誤解を招くプログラミング開発者たちです!


に関してはZookeeperのインストールチュートリアル:

【実戦】Windows環境でのZookeeperインストールチュートリアル
http://www.itsvse.com/thread-4603-1-1.html
(出典:Architect_Programmer)

Zookeeper分散ロックの実装原理は簡単に説明されています:

1: ロッカーの下にすべての子ノードを取得

2: すべてのサブノードがソートされている。ここに2つの状況がある

ノードのシリアル番号が最も小さい場合、クライアントはロックを取得したとみなします。 自分のやり方でやっていいですよ!
もしあなたのノードが最小シリアル番号でなければ、最小のノードを受信しているノードは、あなたより小さい前のノードではありません!! ここはよく聞いてください!
(なぜなら、前のノードがタイムアウトしてロックを解除する可能性があるからです!) )

3: Zookeeperの通知を待ち、その後2の操作を繰り返してすべてのノードを呼び出し、ソートし、自分が最小ノードかどうかを判断します............

原理が分かったら、記事の上位2つの導入がなぜ間違っているのか見てみましょう。





記事の順番の例を見ると正しいと感じますし、走った後の結果も正しいです! しかし、何度かテストしてみると、記事のコードが完全に間違っていることがわかるでしょう!!!

だから原理を知った上で、自分たちで書こう! とにかく、インターネット上でコードに陥ったのはこれが初めてではありません!

こちらが正しいGIFです:



通話コード:



使用されているZooKeeperNet.dllバージョンは3.4.6.1です

[実際の戦闘] ASP.NET コアはRedis分散ロックフラッシュセールをベースにしています
https://www.itsvse.com/thread-9397-1-1.html

最後にソースコードを添付します:

観光客の皆さん、この投稿の隠された内容を見たい方は、どうぞ答える





先の:「コマンドラインインターフェースでパスワードを使う...」という問題を解決します。 "
次に:jQueryはjQueryオブジェクトのラベル型を取得します
掲載地 2019/05/06 18:15:55 |
LZ、ソースコードを調べたところ、ロックの解除などのzkタイムアウト操作は扱っていませんでした。ZKの一時ノードメカニズムのせいかもしれません。 zkが切断されている場合、ノードは自動的に削除されます。
掲載地 2019/07/03 11:16:25 |
実行エラー:ZooKeeperNet.KeeperException+ConnectionLossException 型の例外をスローします。
掲載地 2019/05/06 18:17:02 |
単一のzkの場合は問題が起きないかもしれません。 もしzkがクラスタなら、3つのzkデータ同期アップデートのパフォーマンスに問題が出ますか?
掲載地 2018/04/08 16:32:38 |
共有してくれてありがとうございます。見てみましょう
掲載地 2018/06/01 12:01:39 |
共有してくれてありがとう
掲載地 2018/07/05 12:31:02 |
いい投稿ですね
掲載地 2018/07/10 12:11:14 |
マーク
マーク
マーク
マーク
掲載地 2018/07/11 15:47:20 |
はい、私たちはディストリビューションロックの実装スキームに取り組んでいます
掲載地 2018/08/01 12:52:23 |
見てみましょう
掲載地 2018/10/28 19:55:23 |
学ぶために
掲載地 2018/10/31 16:52:15 |
勉強してるよ、ありがとう
掲載地 2018/11/23 10:24:32 |
悪くない、とても良い
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com