Node.js集群模块:与其他进程共享核心而不重叠

时间:2014-10-03 17:30:28

标签: node.js

假设我有一台16核机器,我希望Node.js网络服务器使用8个核心,我希望Java REST / API服务器使用其他8个。想法是Node将通过localhost进行API调用,即使API服务器可以处理来自其他地方的请求。

我正在使用Node的群集模块来完成此任务;基本上,做cluster.fork() 8x。我假设Java有自己的方式来利用X核心,但其他人正在编写这个软件。

从节点的角度来看,我需要做些什么来确保我的代码不能在运行Java的任何相同内核上运行?运行fork() n / 2次似乎很简单,其中n = numCpus,如果这是我需要担心的,那很好,但我想问这个问题以确保我没有遗漏一些重要的东西

1 个答案:

答案 0 :(得分:1)

由内核调度程序来管理它,但您可以通过设置processor affinity为内核提供一些提示。例如,在linux上,您可以使用taskset为每个已启动的进程设置进程关联。