Grails 是大型企业 Web 应用程序的可行选择吗?

Posted

技术标签:

【中文标题】Grails 是大型企业 Web 应用程序的可行选择吗?【英文标题】:Is Grails a viable option for large scale enterprise web apps? 【发布时间】:2011-03-25 01:09:43 【问题描述】:

来自 J2EE 开发背景,我喜欢 Grails 的想法......使用企业 Java(Spring、Hibernate 等)的所有好处,但具有 Rails 的简单性(脚手架、约定优于配置、Groovy脚本等)。我的公司正在考虑推出一个基于 Grails 构建的新的企业级 Web 应用程序。我听说该平台的早期版本存在一些稳定性问题和缺陷。然而,自从成为 Springsource 的一员以来,我似乎并没有太多抱怨。

我很好奇是否有人对将 Grails 用于大型 Web 应用程序有任何意见或经验。稳定吗?可靠的?我应该注意什么问题?还有其他观察吗?谢谢!

【问题讨论】:

一年半之后,我只想和大家分享一下我的想法。 Grails 绝对是企业 Web 应用程序的不错选择。有一些开销,但如果你打算有一个 Spring / Hibernate 堆栈,Grails 是一个明智的选择。关于 Grails 开销(或缺乏开销)及其作为稳定可靠的企业平台的选择,这里有一个很好的讨论。 linkedin.com/groups/… 对于任何感兴趣的人...我已经发布了一个案例研究,展示了将 Grails 与 Weceem 插件一起用于大容量商业网站的可行性。 thorntech.com/2012/09/… 【参考方案1】:

简答

是的

更长的答案

自 1.0 以来,内核的稳定性和可靠性已显着提高。似乎每个新版本都会引入一些错误,但解决方法/修复往往会很快出现 在性能方面,Grails 一直是足够的(就我的目的而言)。鉴于 Grails 确实是 Spring MVC 和 Hibernate 的 Groovy DSL,而且大部分 Grails 实际上是用 Java 编写的,如果 Grails 的性能与 Spring MVC 这样的 Java Web 框架有很大不同,那将是令人惊讶的。

对于 Grails 插件,情况就大不相同了。其中大部分是由社区而不是 Grails 团队维护的,并且更有可能被放弃,或者跟不上新版本的 Grails。官方支持的插件(例如 Spring Security)当然是这个声明的一个例外。

【讨论】:

谢谢!到目前为止,我一直避免使用插件。我现在正在克服(次要)学习曲线,我的工作效率非常高。只要性能坚持下去,我认为这将是一个很好的设计选择。【参考方案2】:

有关此主题的一些先前讨论,请查看

Is Grails worth it?(从 2008 年底开始) Is Grails (now) worth it?(从 2010 年开始)

【讨论】:

第二个链接是一个真正的帮助。谢谢!我在搜索(这里和谷歌)时发现的大多数 cmets 都已经过时了——人们抱怨大约 1.0。我想知道这些抱怨中的大多数现在是否已经得到解决。我现在唯一关心的是性能。到目前为止,我的应用程序运行良好,但我还没有设计任何复杂的查询。只要我小心(即 - 避免 n+1 问题),我希望它能够保持良好状态。我当然希望是这样!【参考方案3】:

我会说是的,只要 Grails 2.0+。使用基于 Spring Boot 的 Grails 3.0,您可以进一步提高开发人员的工作效率。

这篇 Pivotal 文章证明了这一点。

http://blog.pivotal.io/pivotal/case-studies/netflix-amazon-asgard-groovy-grails-elastically-scaling-apps-for-40-million-internet-tv-viewers

【讨论】:

以上是关于Grails 是大型企业 Web 应用程序的可行选择吗?的主要内容,如果未能解决你的问题,请参考以下文章

模块化大型 Grails 应用程序的最佳实践?

大型文件上传期间的 Grails 连接超时

2012年用linq2sql启动新的企业大型web应用是不是明智

Grails框架之Domain与GORM

大型Web应用运行时 PHP负载均衡指南

大话企业上云之第三篇