Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.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 运行多个Node.js脚本是否会自动分布到各个核心_Javascript_Node.js_Multiprocessing_Scaling - Fatal编程技术网

Javascript 运行多个Node.js脚本是否会自动分布到各个核心

Javascript 运行多个Node.js脚本是否会自动分布到各个核心,javascript,node.js,multiprocessing,scaling,Javascript,Node.js,Multiprocessing,Scaling,我想在多核机器上进行扩展。使用集群库是一种选择,但我想知道是否可以用一种更简单的方法来实现这一点:只需运行多个服务器 所以我想知道的是:Node.js是否会自动将服务器分布在多个核心上。因此,如果我有5个核心和5台服务器,那么每台服务器会在每个核心上运行吗 如果是这样的话,这是在多核机器上扩展的可行方法吗?事实上,仅仅运行一个节点应用程序的多个实例,就会使用多个进程 但是需要注意的是,集群选项有一个小小的优势,那就是如果您创建了在TcpIP端口上侦听的东西,集群可以共享一个IP端口,。。如果说您

我想在多核机器上进行扩展。使用
集群
库是一种选择,但我想知道是否可以用一种更简单的方法来实现这一点:只需运行多个服务器

所以我想知道的是:Node.js是否会自动将服务器分布在多个核心上。因此,如果我有5个核心和5台服务器,那么每台服务器会在每个核心上运行吗


如果是这样的话,这是在多核机器上扩展的可行方法吗?

事实上,仅仅运行一个节点应用程序的多个实例,就会使用多个进程

但是需要注意的是,集群选项有一个小小的优势,那就是如果您创建了在TcpIP端口上侦听的东西,集群可以共享一个IP端口,。。如果说您在端口80上运行Web服务器,那么您可以使用在端口80上运行的所有内核

但我倾向于在端口80上运行反向代理,并在不同的端口上运行其他进程。IOW:集群选项非常适合创建反向代理……)


上述方法的优点是,反向代理实际上不需要保持状态,您可以让它也使用集群来执行SSL。这就留下了你的节点应用程序,因此它可以保持状态,例如缓存在内存中的响应等。节点的最大优势在于进程内请求,这里不需要特殊的ipc。

有两件事值得研究:(1)你了解系统进程,以及操作系统如何跨可用内核安排进程执行?(2) 您是否尝试过运行同一应用程序的多个服务器的假设?请检查:。第二个答案。@108来自第二个答案:“您应该在一个盒子上运行多个Node.js服务器,每个核心一个”。这是否意味着它是自动的?或者你有没有做过什么特别的事情来让这一切发生?(还有,它是特定于版本的吗?)这种方法似乎需要虚拟化,并为每个虚拟机分配一个专用核心。另一种选择是集群。找到这个。但是,通过运行多台服务器,您已经在运行多个进程,因此它们可以更好地利用单独的核心。事实上,仅运行一个节点应用程序的多个实例,将使用多个进程。但是需要注意的是,集群选项有一个小小的优势,那就是如果您创建了在TcpIP端口上侦听的东西,集群可以共享一个IP端口,。。如果说您在端口80上运行Web服务器,那么您可以使用在端口80上运行的所有内核。。但我倾向于在端口80上运行反向代理,并在不同的端口上运行其他进程。IOW:集群选项非常适合创建反向代理……)