我想建立一个网站,可能会得到一些沉重,重复的流量.grails能胜任这项任务吗?
我同意lael,也因为它基于Java技术,有许多经过验证的集群和"企业"工具,可以让您轻松扩展多个应用程序服务.
Grails周围的云工具也变得非常好,并且非常容易部署到像EC2这样的云.我最近一直在使用Cloud Foundry,发现它非常好.
然而,正如第一张海报所指出的那样,您可以用任何框架/语言编写性能不佳的应用程序.我建议的一件事是深入了解Hibernate,它是底层的持久性库.如果你了解它是如何工作的,它应该可以帮助你避免在数据库级别犯下任何愚蠢的错误.在这方面,像p6spy这样的工具非常适合在正常使用期间检查数据库的功能.它应该可以帮助您发现任何重复的查询.
Web应用程序的可伸缩性实际上并不取决于您选择使用的语言/框架,而是取决于您的应用程序的构建方式.您可以在Grails中构建可伸缩的Web应用程序,就像在C++中构建速度极慢的应用程序一样.如果Grails是您想要使用的框架,那么使用它; 如果需要,你总是可以用Java或其他快速语言重写慢速部分.(毕竟,这就是Twitter对Scala所做的.)
免责声明:我从未真正使用过Grails.
Grails本质上是Spring Framework上的一个薄层,许多人认为它是企业界的一个非常可扩展的框架.Spring + Hibernate已经成为全球许多Java商店的标准.
如果您遇到Groovy中的性能瓶颈,您始终可以用Java重写这些部分.
有关使用Grails编写的网站示例,请查看" 成功案例 ".该Testamonials也找实例的好地方.您将使用比vanilla Java应用程序更多的内存(heap和permgen),但您可以像调整任何其他Java应用程序一样调整它.
在低端你不会找到3美元/月的托管选项,你可以使用PHP堆栈(例如).也就是说,Grails应用程序EhCache,MemCache等有一些很好的缓存解决方案.除此之外,您还可以设置Apache层来缓存静态资源或任何您需要的内容.