我想知道:
之间的区别 cluster.setupMaster({exec:'app.js'});
for(let i=0;i<3;i++) {cluster.fork();}
并输入命令3次:
node app.js
对于内部库net
,似乎有一些Round-Robin
时尚的负载均衡机制仅在第一种方式可用,但不是第二种方式,因为它只是分离的节点进程而且可以它们之间没有协同作用 - 除非我们添加inter-process communication
代码。
我想知道除此之外,我们只能从第一种方式获得任何其他利润吗?
-----------------------------更新----------------- -------------
列出在建立“群集”与普通多进程建模时应该注意的项目,但是最好描述“群集”库附带的隐藏IPC通道。
答案 0 :(得分:4)
主要区别在于外部应用程序访问这三个工作者,就好像他们是一个一样。因此,如果您正在运行Web应用程序,则可以通过相同的HTTP端口公开所有这三个应用程序。如果您尝试仅运行三次节点应用程序,则必须为每个应用程序分配一个不同的端口,并在其他位置执行负载平衡。