2016-06-28 2 views
0

Je suis en train de développer une application sur GAE/J et d'examiner comment implémenter le verrouillage distribué sur elle.Verrouillage distribué sur GAE/J

Mon exigence est tout à fait la même avec this question. Mais cette question a environ 7 ans, donc je ne peux pas trouver si les réponses sont toujours valides. Aussi, je ne peux pas trouver ces réponses fonctionne sur GAE/J. Comment puis-je implémenter le verrouillage distribué sur GAE/J?

Répondre

0

Vous pouvez effectuer une transaction sur le magasin de données, avec laquelle vous pouvez implémenter un verrou distribué sur celui-ci. https://cloud.google.com/appengine/docs/java/datastore/transactions

+0

Merci pour votre réponse. Une de mes exigences est "si le détenteur du verrou meurt, il sera automatiquement libéré après X secondes". Le magasin de données répond-il à cette exigence? –

+0

Vous mettez une valeur dans le magasin de données pour acquérir le verrou à l'aide de la transaction, après la transaction que vous avez définie le verrou. Vous devez utiliser enfin ou quoi d'autre pour s'assurer que le verrou est libéré. Vous pouvez avoir un processus qui vérifie le verrou et libère le temps d'évaluation (la valeur peut être un horodatage). Mais rien ne fonctionne hors de la boîte. –

+1

Lorsque le processus meurt, n'est finalement pas exécuté. Et la méthode d'horodatage ne peut pas être utilisée car nous ne pouvons pas garantir la durée de notre transaction. –