我并不熟悉Express之外的其他基于Node的Web应用程序框架。尽管如此,Express似乎非常轻巧,它可以完成的任务。但是,我唯一一次使用Express是针对小型实验项目而且没有任何东西可以为很多用户服务。所以我想知道,我是否应该将我的知识扩展到其他服务于此"可扩展性"指标,如果是,它们是什么?
答案 0 :(得分:1)
Express具有与nginx和Apache等其他服务器类似的可扩展性。它几乎都有相同的考虑因素。
如果你想扩大规模,最好的方法是(就像使用nginx和Apache一样)以一种可以让多个服务器实例运行的方式编写应用程序(然后使用负载均衡器来连接他们在一起)。
这需要考虑如何处理会话,但这不是Express独有的问题。事实上,快速会话包是会话的默认设置,这使得基于数据库的会话非常容易,这使得它成为一个无问题的
如果您在多CPU核心服务器上运行它们,那么一个特别的考虑因素是,由于Node基本上是单线程的,因此每个CPU核心启动一个实例以最大化性能也会很有帮助。与本机多线程(如nginx)相比,这可能会导致一点性能损失,但只有在您尝试使用一些非常强大的服务器时才适用。在使用大量小服务器进行扩展时,这种情况更为常见。
除此之外,它几乎可以像其他任何一样工作。
将其与其他可能的基于节点的服务器进行比较,它的性能应该和其他任何服务器一样好。因为它的重量很轻,所以无法对其进行优化。
我们使用快速服务器来服务非常大的项目,并且从未遇到过任何问题。我们只是将它们扩大并远离它们。