我们是否需要一个node.js脚本的集群模块,它只是从gearman服务器或AWS SQS中的其他api获取一些作业并执行它?
我所知道的是,群集在套接字共享(例如在端口上侦听)的情况下更有用,例如在Web服务器中
PS:我已经使用monit监视并重启这些守护进程,以防发生崩溃,并在将来计划使用pm2(在非集群模式下,即没有-i标志)。
答案 0 :(得分:0)
不,您不必使用群集模块来从某种工作队列中为多个操作提供服务。当群集模块的特定功能与您正在进行的工作类型(负载平衡多个传入连接)完全匹配时,您应该使用群集模块。
实际上,如果要完成的操作主要是异步操作(例如向外部数据库发送更新),则可能甚至不需要多个进程。但是,如果确实需要多个进程,则可以使用process
模块中的各种选项启动其他工作进程来执行单个任务,并使用主中央服务器来监视和协调这些其他进程。这是集群模块的一部分,但它的使用更专业,而不仅仅是启动您可以自己编写代码的其他外部进程。