問題タブ [distributed-lock]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
20 参照

concurrency - SQL データベースを使用したロック サービス

異なるホストで実行される異なるプロセスによって変更された共有リソースへの同時アクセスを同期する必要があります。データベースにアクセスできるサービスからアクセスできるSQLデータベースにロックテーブルを作成して、これを同期することを考えています。すべてのプロセスが最初にサービスにロックを要求し、ロックを取得したプロセスのみが先に進み、共有リソースを変更します。プロセスは、計算後にロックを解放します。ロック テーブルは、現在ロックを保持しているプロセスのホスト、pid、ロック作成時刻などの情報を保持し、ロックを保持している現在のプロセスが予期せず終了し、他のプロセスがロックを要求した場合にロックをクリアします。

私の場合のトラフィックは最小限であるため (1 日で 2 ~ 5 のプロセスが実行される可能性があるため、同時アクセスの可能性はすでに最小限に抑えられているため)、飼育係ベースのソリューションには傾倒していないため、別のサービスを維持することは考えていません。ロック用ですが、データベースに追加のテーブルを追加することにより、既存のサービス自体の 1 つを拡張します。

このアプローチに関する提案、またはこの問題に対する他のより簡単な解決策があるかどうかについての提案が必要でした。