如何扩展NodeJS,同时通过Apache web服务器代理它

How to scale NodeJS while Proxying it through Apache web server?

本文关键字:Apache web 服务器 代理 何扩展 扩展 NodeJS      更新时间:2023-09-26

我有Apache Web服务器作为Web服务器和NodeJS也在不同端口的同一系统上运行。我正在反向代理它,以便连接到它并将其用于不同的目的。我想知道这种架构可以扩展到1000万用户左右的各种方法是什么,Apache是一个好的选择吗?如果是,请告诉我如何管理这样的场景,因为我不能继续使用不同的架构。

如果您向它投入足够的资源(负载平衡器后面的实例越来越多),Apache当然可以接受它。这是几乎所有web应用程序的原理:横向扩展。但是由于它为每个请求创建一个新线程,因此它的效率(每个实例)非常低。如果你需要Apache的x实例来维持你的流量,你可能可以切换到nginX(它使用更有效的事件模型,而不是Apache的线程模型),并维持相同的流量,也许x/2实例。

nginX也有一些缺点:支持资源少得多,在企业中的应用少,没有apache出现的时间长,如果你想添加一个新模块,需要重新编译,等等。是否值得由你来决定。小型/精简的公司更喜欢nginx来降低成本,而大企业倾向于选择apache,因为它有更多的支持和知道如何配置它的人。