Google App Engine基础架构如何容错?

问题描述:

我实际上在Google App Engine上实现了一个Web应用程序。这让我花了很大的时间,通过GAE的要求和最佳实践来重新设计数据库和应用程序。Google App Engine基础架构如何容错?

我的问题是:我怎样才能确定GAE是容错的,还是容错的程度?我在GAE上没有找到任何文档,这是一个可能对我有缺点的问题:例如,我的应用程序可能会从数据存储中读取实体,在应用程序中计算它,然后将其放入在数据存储上。在这种情况下,我们如何确定这样做会被正确完成,并且我们获得了正确的数据:例如,计算机所在的机器是否会崩溃?

谢谢你的帮助!

如果服务器在请求期间崩溃,该请求将失败,但任何新请求都将路由到不同的服务器。所以一个用户可能会看到一个错误,但其余的不会。数据存储区中的数据会很好。如果您的数据需要保持一致,那么您可以在事务中执行更新,以便应用整套更新或者不应用任何更新。

在同一个实体组上运行的事务是串行执行的,但在不同实体组上运行的事务并行运行。因此,除非您的应用程序中的所有内容都需要读取和写入,否则可扩展性不会受到事务的影响。