google-app-engine - 谷歌应用引擎上的 Grails

标签 google-app-engine grails

grails 和谷歌应用引擎部署的当前状态是什么。我是应用引擎的新手,但不知道值得探索它。一些特定的 qns 是

  • 最新plugin ,用户评价高,有什么限制吗?或者它与所有 gorm 功能无缝协作
  • grails 应用程序的高启动时间是否存在任何问题。它在现实世界场景中如何? (具有典型的小型和大型应用程序)
  • 其他 grails 插件(如 shiro、joda time、nimble 等)呢?我猜他们不会打得很好。所以直接使用这些库是更好的选择
  • 如果决定放弃 goole-app 作为部署选项,切换到正常环境是多么容易。 JPA 支持确保与其他传统 DB 的兼容性?

  • 不知道还有哪些主要问题……可能,这是进行良好讨论的基础。
    谢谢。

    最佳答案

    我从 grails 邮件列表中得到的回复很少,结论与 David 的评论相同。见线程 here

    几个相关回复:

    来自托马斯·林:

    如果你真的想建立一个
    App Engine 上的项目。它是使用应用程序从头开始构建的
    引擎作为目标引擎,因此它可以绕过诸如长时间的问题
    由于 Spring 和 Hibernate 的加载时间。新推出的插件
    机制保证您的 Gaelyk 应用程序可以在
    一种保证在 GAE 上工作的方法。

    Gaelyk 有它自己的原生实体持久化 DSL,这有点
    App Engine 之上的 JPA/JDO 抽象更清晰。

    我目前在应用程序中看到许多 HardDeadlineExceeded 异常
    引擎和Grails。它只是不适合与 Spring 配合使用
    马上。希望这将随着以后的版本而改善
    Groovy、Grails 和 Spring/Google 的 GAE 合作伙伴关系
    业务,但我不会考虑准备 GAE 生产的 Grails。

    即使使用 Gaelyk,也有性能缓慢的报告。所以想象一下
    更大的 Grails 堆栈带来的困难。

    应用引擎自带用户/安全的实现
    基于 GMail 账户的管理系统。如果您只想提供
    管理员/非管理员实现,这在
    应用引擎配置。无法评论 Shiro。

    请注意,App Engine 的主要限制之一是
    无法写入文件,因此即使是 Spring 中的基本文件上传
    由于默认机制写入临时
    文件。我想大多数插件都无法正常工作
    无需深入研究他们的代码并更改它。

    我认为这里最大的问题是缺乏对原生 JDBC 的支持。日本特许经营协会
    不像普通的 JDBC GORM 那样受支持,比如命名查询
    如果不进行改造,可能无法开箱即用。如果你
    想要使用 Grails 的最新和最伟大的部分,它可能是
    值得考虑其他托管解决方案。

    来自亚伦·艾沙伊德

    1.GAE 插件和 JPA-GORM 插件相结合并不能让您无缝地获得所有 GORM 功能。虽然你应该得到像 .save()、.delete() 和 .list() 这样的基础知识,但动态查找器等将会消失(至少现在是这样)。我可能会离开这里,但我认为大多数/所有依赖于 Hibernate 的功能都已淘汰或被其他功能取代(因为它在幕后依赖于 SQL 而 GAE 目前没有基于 SQL 的数据库......)所以例如任何标准 build 者是不行的。我不清楚你可以在物体上做多少点钻孔。例如,不确定您是否可以执行以下操作:

    def b = 新书()
    def store = b.authors.publishers.bookstores

    我可以使用一些指针的一个地方是如何在域类中使用 JPA。我确信那里有很好的信息,但我还没有找到。

  • 不确定
  • 包含域类或操作您当前域类的 grails 插件肯定会出现问题,因为您必须以不同的方式构造域类才能与 JPA 配合使用,这是必要的,因为 Google 的数据存储不太像关系数据库。另一方面。您可以使用 Google 的内置安全功能,因此您不一定需要像 Acegi 或 Shiro 这样的插件。
  • 这可能归结为您可以在 Controller 和服务中使用的不同级别的 GORM 以及您定义域类的不同方式。一些重构似乎不可避免,除非 JPA 对 SQL DB 的作用与对 Google 数据存储的作用一样好。如果 JPA 可以像那样移动,那么转移应该很容易,但是通过使用 JPA-GORM,如果您因为使用 GAE 而没有从中受益,您可能会放弃一些您可能想要的东西。

  • 想听听别人怎么说,

    亚伦

    关于google-app-engine - 谷歌应用引擎上的 Grails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3119531/

    相关文章:

    mongodb - 如何为 mongodb 副本集配置 grails 3

    grails - 使用条件,如何在Grails GORM中基于max(column)获取结果列表

    google-app-engine - google appengine和实际大表的区别

    python - Google App Engine - Python 和从 bigtable 渲染

    使用 Google Apps Engine 时出现 Python 错误

    Grails:在域类中动态注入(inject)服务

    grails - 注销后使用Spring Security将用户重定向到自定义页面吗?

    java - Google App Engine 上的 CPU 带宽是太贵了还是我的代码?

    python - 我如何在 Google App Engine webapp2 请求处理程序中获取 HTTP header

    hibernate - 我应该在Grails项目中的哪里写标准查询?在服务层还是在域模型中?