重叠并运行多个节点进程

时间:2015-04-24 02:28:25

标签: node.js multithreading

背景:我目前正在构建一个需要更新的应用程序。用户信息每4小时一次。它通过从外部API(Riot的API)请求数据来实现这一点

我的问题是,通过一个流程,我每4小时只能更新约76,000个用户并考虑可扩展性我认为如果/当我达到500k用户时,我会做什么,1M用户等

我已经读过你可以同时运行多个节点进程(一个用于你的cpu的每个核心)。

所以我想知道我是否说过10个进程同时工作如何避免用户更新的重叠。 (阻止所有10个进程更新同一组用户的内容)

注意:我已经考虑过使用某种解决方法,例如为每个进程提供一系列名称(进程1的所有名称都以ad开头等等)但我觉得这种方法更像是一个hack而不是一个hack溶液

1 个答案:

答案 0 :(得分:0)

一种典型的解决方案是使用工作队列。请查看the documentation for bull以获取示例。请特别注意有关群集的部分:

  

队列非常强大,可以在多个线程或进程中并行运行,而不会有任何危险或队列损坏的风险。使用集群检查这个简单的示例来并行处理跨进程的作业...

如果您想分散多个服务器的工作量,请多关注the section on using it as message queue

相关问题