2009-11-03 4 views
0

Je suis en train de mettre en place une application web sur Google App Engine. Cela m'a pris pour le moment un énorme temps dans la re-conception de la base de données et de l'application à travers les exigences de GAE et les meilleures pratiques.Comment l'infrastructure Google App Engine est-elle tolérante aux pannes?

Mon problème est le suivant: Comment puis-je être sûr que GAE est tolérant aux pannes, ou dans quelle mesure est-il tolérant aux pannes? Je n'ai trouvé aucun document dans GAE à ce sujet, et c'est un problème qui pourrait avoir des inconvénients pour moi: Mon application devrait, par exemple, lire une entité à partir du datastore, la calculer dans l'application, puis la mettre sur le magasin de données. Dans ce cas comment pourrions-nous être sûrs que cela serait correctement fait et que nous obtenions les bonnes données: si par exemple la machine sur laquelle l'informatique a été faite tombe en panne?

Nous vous remercions de votre aide!

Répondre

3

Si un serveur se bloque lors d'une demande, cette demande échoue, mais toute nouvelle requête est acheminée vers un autre serveur. Un utilisateur peut donc voir une erreur, mais pas le reste. Les données dans le magasin de données seraient bien. Si vous avez des données qui doivent être cohérentes, vous effectuerez vos mises à jour dans une transaction, de sorte que l'ensemble des mises à jour soit appliqué ou aucune.

0

Les transactions fonctionnant sur le même groupe d'entités sont exécutées en série, mais les transactions opérant sur des groupes d'entités différents s'exécutent en parallèle. Donc, à moins qu'il n'y ait une seule entité que tout dans votre application veut lire et écrire, l'évolutivité ne souffrira pas de transactions.