0

我实际上是在 Google App Engine 上实现一个网络应用程序。这让我花了很多时间通过 GAE 要求和最佳实践重新设计数据库和应用程序。

我的问题是:我怎样才能确定 GAE 是容错的,或者它在多大程度上是容错的?我在 GAE 中没有找到任何关于此的文档,这对我来说可能有缺点:例如,我的应用程序需要从数据存储中读取一个实体,在应用程序中计算它,然后将其放入在数据存储上。在这种情况下,我们如何确保这将正确完成并获得正确的数据:例如,如果已完成计算的机器崩溃了?

谢谢您的帮助!

4

2 回答 2

3

如果服务器在请求期间崩溃,则该请求将失败,但任何新请求都将被路由到不同的服务器。因此,一个用户可能会看到错误,但其他用户不会。数据存储中的数据会很好。如果您有需要保持一致的数据,您将在事务中进行更新,以便应用整个更新集或不应用任何更新。

于 2009-11-04T21:47:35.960 回答
0

在同一实体组上操作的事务是串行执行的,而在不同实体组上操作的事务是并行执行的。因此,除非您的应用程序中的所有内容都希望读取和写入单个实体,否则可伸缩性不会受到事务的影响。

于 2009-11-05T18:35:20.023 回答