なぜ人々は分散ロックを必要とするのでしょうか?
共有リソースがそのローカル マシンによって保護されている場合、分散ロックは必要ないということですか?
つまり、共有リソースがある種の API またはサービスを使用して他のユーザーに公開され、この API またはサービスがローカル ロックを使用して保護されている場合です。この種の分散ロックは必要ありません。私は正しいですか?
なぜ人々は分散ロックを必要とするのでしょうか?
共有リソースがそのローカル マシンによって保護されている場合、分散ロックは必要ないということですか?
つまり、共有リソースがある種の API またはサービスを使用して他のユーザーに公開され、この API またはサービスがローカル ロックを使用して保護されている場合です。この種の分散ロックは必要ありません。私は正しいですか?
quoraで人々に尋ねた後。答えが出たと思います。
N 個のワーカー サーバーがデータベース サーバーにアクセスするとします。ここには 2 つの部分があります。
データベースには、他のクライアント (N ワーク サーバー) の同時アクセスによってデータが破損するのを防ぐための独自のロック方法があります。ここで、データベースのローカル ロックが発生します。
N 個のワーカー サーバーは、正しいことを行っていることを確認するために何らかの戴冠式が必要になる場合があります。これはアプリケーション固有です。ここで、分散ロックが出てきます。たとえば、データベースのテーブルを削除し、テーブルにレコードを追加する同じプロセスを実行している 2 つのワーカー サーバーがあるとします。データベース サーバーは内部データが正しいことを確実に保証できますが、この 2 つのプロセスは互いに調整するために分散ロックを必要とします。そうしないと、1 つのプロセスが別のプロセスのテーブルを削除します。
はい、いいえ、ロックの設定方法に応じてミューテックスを防ぐためにロックを介してローカル API から情報を公開している場合、実装は分散ロックが達成しようとしているものとまったく同じである可能性がありますが、そうでない場合API を開発した場合は、API のソースを掘り下げて、ローカライズされたロック システムか分散ロック システムかを調べる必要があります。正直なところ、ロックはロックはロックです。何があっても同じことをしようとしています。ローカライズされたものに対する分散ロックの利点は、高価なキャッシュ ポイント上のクライアントからの過剰なアクセスを防ぐために、キューイングを既に考慮していることです。