【发布时间】:2018-05-27 08:23:26
【问题描述】:
似乎有很多工作要从 objectify v5 升级到 v6,因为有很多重大变化。是否有充分的理由进行这项工作和升级?
【问题讨论】:
标签: google-app-engine objectify
似乎有很多工作要从 objectify v5 升级到 v6,因为有很多重大变化。是否有充分的理由进行这项工作和升级?
【问题讨论】:
标签: google-app-engine objectify
只是为了拥有更大的版本号?不,我不会升级;您的代码现在可以正常工作,充其量它会在之后正常工作。您可能需要等待两个主要的发展:
Cloud Datastore 与 Cloud Tasks 的集成(更不用说即将推出测试版的 Cloud Tasks),因此您可以以事务方式将任务排入队列。
SDK 中的 gRPC 可提高调用性能。
开始一个新项目是一个更难的问题......但对于现有代码库,我会坚持“如果它没有损坏,请不要修复它”。 appengine sdk 和 Objectify v5 是成熟的 API,可以工作,以后升级应该不会比现在升级更难(如果您使用事务性任务会容易得多)。
请注意,如果您想将应用程序迁移到 GAE 灵活运行时,那么您需要 v6,但这只是您可能需要的众多更改之一。
【讨论】:
Objectify v5 使用 App Engine SDK 通过名为 ApiProxy 的专有接口连接到 GAE 服务。谷歌随后发布了 Cloud SDK,它引入了改进,但对于这种情况最重要的是,它用 REST 和 GRPC 接口替换了这个接口到他们的服务。 These are the interfaces Objectify v6 uses.
如果您使用appcfg 或mvn appengine:update 进行部署,则您仍在使用旧的App Engine SDK,但是,如果您使用mvn appengine:deploy 或gradle appengineDeploy,则您使用的是Cloud SDK。
虽然如果您使用旧的 App Engine SDK 继续使用 Objectify v5 确实有意义,但最好同时升级到 Cloud SDK 和 Objectify v6,因为 Cloud SDK 对于未来的 App Engine 看起来像 the way to go部署。
有一个关于如何从v5 to v6 迁移的指南,以及等价的between some commands in Appcfg and Gcloud。
【讨论】: