0

我已将我的 Google App Engine 应用程序分成一个小版本(经常使用的位 - 用户界面等)和一个大版本(所有小版本加上管理屏幕、cron 工作人员等)

计划是 GAE 应该能够非常快速地加载我的小版本并服务来自每个实例的大量请求,因为内存需求很小。大版本将为管理屏幕和 cron 工作加载,并且需要 Guice、模板库、apache-commons 等。

问题是当用户点击“Admin”标签时,他们需要自动转移到大版本 - 我怎样才能生成这个链接?我希望按如下方式对我的应用程序进行版本控制:

small-1.myapp.appspot.com

big-1.myapp.appspot.com

small-2.myapp.appspot.com

big-2.myapp.appspot.com

等等,并且当用户请求小代码中不可用的页面时,他们可以从 small-1 重定向到 big-1。

我试过使用 SystemProperty.applicationVersion 但它似乎不包含应用程序版本字符串。

4

2 回答 2

2

你确定吗

com.google.appengine.api.utils.SystemProperty.applicationId.get()

不会产生您的应用程序的 ID(myapp在您的情况下),或者

com.google.appengine.api.utils.SystemProperty.applicationVersion.get()

不会产生您正在运行的应用程序的主要版本(例如:small-1 [timestamp])(您必须去掉时间戳)?

如果做不到这一点,既然您已经知道您的应用程序 ID 和版本号,您是否可以不在您的系统中声明新的系统属性appengine-web.xml并改用这些值?

尽管有上述情况,您可能需要考虑一种更简洁的替代方案:只有一个应用程序(维护和上传到 GAE 的工作要少得多),然后为您的管理部分执行延迟初始化,或者执行我所做的并将初始化放入应用程序启动时排队的任务。

于 2012-05-30T13:29:34.143 回答
-1

当您想使用和维护不同的版本时,可以使用流量拆分:https ://developers.google.com/appengine/docs/adminconsole/trafficsplitting

于 2012-05-30T16:57:00.207 回答