Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我可以并行运行多少个NodeJS Express服务器?_Javascript_Node.js_Express - Fatal编程技术网

Javascript 我可以并行运行多少个NodeJS Express服务器?

Javascript 我可以并行运行多少个NodeJS Express服务器?,javascript,node.js,express,Javascript,Node.js,Express,我正在设置一个文件服务器,它将被许多客户端使用。除此之外,还会定期添加和删除客户端 我使用NodeJS+Express编写了一个简单的服务器,可以进行一些简单的文件处理。创建新客户机时,必要的文件将复制到客户机的根目录中。为客户机启动了一个nodeJS服务器,它提供了一个简单的web界面和一个从中提取信息的API。客户端完成后,文件将被删除,服务器将关闭。客户可能会使用它数月甚至数年,或者一次只使用几天 这个系统对于几十个用户来说效果很好,但现在它需要扩展以处理数百个用户 所以我的问题是,这会扩

我正在设置一个文件服务器,它将被许多客户端使用。除此之外,还会定期添加和删除客户端

我使用NodeJS+Express编写了一个简单的服务器,可以进行一些简单的文件处理。创建新客户机时,必要的文件将复制到客户机的根目录中。为客户机启动了一个nodeJS服务器,它提供了一个简单的web界面和一个从中提取信息的API。客户端完成后,文件将被删除,服务器将关闭。客户可能会使用它数月甚至数年,或者一次只使用几天

这个系统对于几十个用户来说效果很好,但现在它需要扩展以处理数百个用户


所以我的问题是,这会扩大规模吗?一台功率适中的机器可以处理数百台Node+Express服务器吗?还是应该重写此服务器?

应该重写此服务器,这样您就不会为每个用户都提供服务器。单个nodejs服务器应该能够处理许多用户(可能是数千或数万)的需求。然后,如果您超出了单个服务器可以处理的范围,那么您可以部署集群,让多个nodejs服务器处理数千个用户的需求

您可以使用某种经过身份验证的cookie来标识每个请求所属的用户,这样当一个给定的请求传入时,您就知道要对哪个用户的文件进行操作

而且,为了获得最大的可伸缩性,所有文件操作都应该使用异步文件I/O(非同步)。如果您有CPU密集型的特定文件操作,那么您可以将这些特定操作移动到临时子进程,以允许主nodejs服务器继续支持大量用户的需求

所以我的问题是,这会扩大规模吗?一辆中等马力的汽车可以吗 机器可以处理数百个Node+Express服务器,或者 重写


如果有几个使用异步I/O和集群的nodejs进程来满足成千上万用户的需求,那么它的扩展性会更好。这就是nodejs的全部可伸缩性优势。事件驱动的I/O比为每个用户提供一个进程或线程更具可扩展性。

应该重写它,这样您就不会为每个用户提供服务器。单个nodejs服务器应该能够处理许多用户(可能是数千或数万)的需求。然后,如果您超出了单个服务器可以处理的范围,那么您可以部署集群,让多个nodejs服务器处理数千个用户的需求

您可以使用某种经过身份验证的cookie来标识每个请求所属的用户,这样当一个给定的请求传入时,您就知道要对哪个用户的文件进行操作

而且,为了获得最大的可伸缩性,所有文件操作都应该使用异步文件I/O(非同步)。如果您有CPU密集型的特定文件操作,那么您可以将这些特定操作移动到临时子进程,以允许主nodejs服务器继续支持大量用户的需求

所以我的问题是,这会扩大规模吗?一辆中等马力的汽车可以吗 机器可以处理数百个Node+Express服务器,或者 重写

如果有几个使用异步I/O和集群的nodejs进程来满足成千上万用户的需求,那么它的扩展性会更好。这就是nodejs的全部可伸缩性优势。事件驱动的I/O比为每个用户提供一个进程或线程更具可伸缩性