2016-06-28 8 views
0

私はGAE/Jでアプリケーションを開発し、分散ロックを実装する方法を検討しています。GAE/Jの分散ロック

私の要件はthis question. と全く同じですが、この質問は約7歳なので、回答がまだ有効かどうかはわかりません。また、私はこれらの答えがGAE/Jで動作するのを見つけることができません。

GAE/Jで分散ロックを実装するにはどうすればよいですか?

答えて

0

データストア上で分散ロックを実装できるので、トランザクションをデータストアで行うことができます。 https://cloud.google.com/appengine/docs/java/datastore/transactions

+0

お返事ありがとうございます。私の要件の1つは「ロックホルダーが死ぬと、X秒後に自動的に解放されます」というものです。データストアはこの要件を満たしていますか? –

+0

ロックを設定したトランザクションの後に、トランザクションを使用してロックを取得するためにデータストアに値を設定します。あなたは、ロックが解除されることを確実にするために、最終的に、または他に何を使用する必要があります。ロックをチェックして時間を評価するプロセスを持つプロセスを持つことができます(値はタイムスタンプになります)。しかし、何も箱から出ません。 –

+1

プロセスが終了すると、finallyは実行されません。また、タイムスタンプ方式は、取引の所要時間を保証できないため使用できません。 –