我应该使用什么语言和(可能的)Web应用程序框架来开发高流量的Web应用程序?

Ken*_*ina 3 performance frameworks programming-languages high-traffic

我目前正处于大学独立网络应用程序开发项目的预先规划阶段,该项目大约有一年的时间限制.该应用程序将具有某些类似wiki的功能,并且可能最终在未来获得大量流量,这就是为什么我选择的任何语言和框架必须优先考虑以足够有效的方式处理大量压力的能力(这意味着它不应该是服务器生猪,因为这意味着更高的硬件,维护和其他相关成本).紧迫的第二优先事项是缩短开发时间和复杂性.

截至目前,我正面临一个分析瘫痪的案例,因为似乎有很多语言可供选择.例如:

  • PHP
  • 红宝石
  • Java的
  • .净
  • 其他...

还有框架,例如:

  • Symfony的
  • Zend框架
  • Ruby on rails
  • ASP .NET
  • 很多其他的...

据我所知,在开发便利性和效率之间似乎存在一些权衡,所以我试图在这两件事之间找到平衡(在很多其他考虑因素中).

到目前为止,我在中级知道PHP,Java,C#,Visual Basic.尽管如此,我还是希望让语言选项保持开放,因为我愿意在必要时学习另一种语言,例如ruby,因为它看起来很有趣.

另一方面,虽然这个决定可能不够客观,但有一些数字需要考虑.我相信我已经读过,例如,java比PHP慢.

那么,最终,我应该根据应用程序的需求使用哪些?

如果您已经开发出类似的东西,哪些选项适合您?


编辑:我已经阅读了答案和其他一些资源,大多数人说任何语言都可以扩展,并且只要你知道如何定义可扩展的架构和优化技术,就可以像你需要的那样高效.虽然这是真的,听起来很振奋人心,这也是事实,有些语言/框架有更多的资源比其他人饥饿,当然成本是约束(这几乎总是如此,但我忘了我的问题加上原本) .

此外,使用框架现在几乎是给定的.

Ano*_*nJr 10

由于它是一个单独的努力,你明显在时间限制,使用你最好的.

有大量使用您提到的所有技术的高容量网站示例.老实说,在你获得流量之前,它不会产生那么大的差别.即便如此,有些事情你会(希望)有钱用来缓解这个问题.

试图说服你任何特定的语言/堆栈将真正归结为提出推荐的人的偏好和/或偏见.


Osc*_*Ryz 5

你知道没有一个真正明确的答案吗?

所有这些都有利有弊,并且根据开发人员和应用程序的设计,创建具有其中任何一个的能力各不相同.

既然你要自己开发这个东西,那么你能做的最好的事情就是选择一种你熟悉的语言.

所以我提出以下建议:

从您的应用程序中选择您想要构建的最简单的东西(例如登录页面,关于页面,或几乎任何东西.重点是它应该非常简单)

一旦您选择了该做什么,请使用所有可用选项对该页面进行编码,并测量您执行以下操作所需的时间和/或其难度:

  1. 获取SDK,环境,工具等.
  2. 创建自己的页面到您满意的程度.
  3. 创建模拟工作负载测试(发送多个请求)
  4. 测量每个内存,CPU,磁盘使用量等方面的数量.
  5. 获取给定技术的论坛等文档和支持.
  6. 最后也更重要的是,你最喜欢哪一个.

页面非常简单至关重要.在这个练习中花了一两个星期的时间,帮我们一个忙,把结果发回来;)

我告诉你这是不行的:"如果你觉得它很糟糕的话,那就用C++做asp.net因为blah blah bla" 你要么放弃它,要么改变别的东西.

该实验对于将来的参考也是有用的.