网站最常见的技术堆栈是Lamp,部分原因是因为它可以在任何地方使用,部分原因是编程模型非常简单:每次向服务器发出的请求都会产生对代码的单次调用以及发回的单个HTML块。
但是考虑一下需要保持活动功能的Web程序的要求,这是一个连续的Javascript前端实时数据流。我得到的印象,例如"Connection: Keep-Alive" in server response,http://ajaxian.com/archives/mibbit-ajax-based-irc-client和http://www.mysqlperformanceblog.com/2006/11/12/are-php-persistent-connections-evil/就是Lamp并不是专为此类工作量而设计的。
所以我的问题是,对于保持活力的工作负载(这是最好的术语吗?),什么是最好的技术堆栈?
或者更准确地说,根据可靠性,可伸缩性的标准,什么是最好的堆栈(我不关心节省几个CPU周期,但我做当你添加更多用户时,即使是在高端硬件上也是如此,以及 ubiquity (能够开始使用廉价的GoDaddy风格主机),关心不会陷入这种情况。
答案 0 :(得分:1)
nodejs专为此类工作负载而设计,它可以快速完成并适用于此类工作负载(比使用AJAX调用回复到apache / mod_php + mysql的LAMP快得多)。已经有相当数量的库,甚至已经有一些框架,但根据您的要求,没有理由不能将灯与节点混合搭配。