我一直在和大学里的一些朋友争论,我们不能达到一个点,那就是web应用的框架具有更高的可伸缩性(而且仍然非常快)。
一个调用jsp,另一个调用ruby,另一个调用php,以此类推。我可以请您给我们澄清一下什么是更具可扩展性的潜力吗?
Tks,希望我没有重复我搜索过的任何东西,但没有发现任何像这样的问题。
编辑:如果你能指出这方面的比较,那就更好了:)
发布于 2013-03-29 00:26:17
(五年后...)
我找到了这篇博客文章,它对多种语言相关的web框架进行了基准测试。现在这很好地回答了我在2008年的问题。
http://www.techempower.com/blog/2013/03/28/framework-benchmarks/
发布于 2008-10-21 18:59:20
Ruby和PHP不是webapp框架。它们是web开发中流行的编程语言。
一般来说,webapp可伸缩性不是编程语言的属性,给定的webapp框架最多不会妨碍可伸缩性。良好的可伸缩性更多地是应用程序设计的一个属性。
有太多的webapp框架可以进行逐点比较,这还不够百科全书式的。
此外,您还可以通过多种方式解决给定应用程序的可伸缩性问题。一种方法是定义良好且范围狭窄,并以惊人的原始性能为目标,这样一台机器就可以为无数个工作单元提供服务。最好的例子是Mailinator。
另一种方法是通过“仅仅”添加更多硬件来更容易地为不断增加的负载提供服务。几乎任何数据库支持的webapp框架都可以这样扩展:只需在负载均衡器和共享数据库后端之间添加更多的应用服务器即可。如果您以这种方式解决问题,那么您主要关心的是设计应用程序以最小化1.数据库争用2.数据库负载。
最后一种方法是将系统设计为全程疯狂并行。谷歌就是最好的例子。
总而言之:语言或框架不会产生可伸缩的应用程序,软件架构师会这样做。
编辑:明确地说,我的答案是关注可伸缩性,即在不改变设计的情况下处理不断增加的负载的能力。这是与执行速度不同的属性。
发布于 2008-10-21 18:50:42
在可伸缩性方面,算法比所使用的语言更重要。
也就是说,不同语言之间的执行速度会有所不同。我相信Java (servlet和JSP编译成servlet,即本地代码)会比Ruby和PHP快一些)。还有大量针对Java的web框架将鼓励您以最好的方式实现可伸缩性。
还要设计你的应用程序,让它可以在负载均衡器后面愉快地运行,并且可伸缩性变得容易得多:)然而,这不是我的专业领域。
https://stackoverflow.com/questions/222970
复制相似问题