我会直截了当地说 . 所以,我有JSON(大约20MB),它每天都在更新,我应该从其他服务器下载并放入我的 . 然后我计划制作一个API,通过一些搜索查询('... / search?query = someRandomQuery')从该JSON返回一些数据 .

而我正在考虑将群集与 Worker 一起用于我的案例 . 我对Node JS和集群有点新意,所以我在想什么是使这整件工作最好的方法 .

现在我觉得整件事应该是这样的:

  • 我运行我的应用程序 .

  • Downloader最初下载该文件并将其放入我服务器的某个文件夹中 .

  • 然后我设置下载程序每天更新一次文件 .

  • 在我的服务器上下载/更新文件后,我会向工作人员发送一些消息 .

  • 一旦工作人员收到文件准备就绪的消息,每个工作人员都会将整个JSON加载到内存中 . 工作人员也会有一些搜索功能,可以搜索"memory data"并为用户返回一些结果 . 这就是它 .

我打算用的是:https://nodejs.org/api/cluster.html

我的主要问题是实现我需要的结果的最佳方法是什么?

我假设为了更新工作者内部的JSON数据,master应该为所有人发送一些消息“文件已更新,请更新数据”,然后工作人员更新正在其内存中保存的整个数据 . 是对的吗?但主人怎么样?我应该将整个下载/更新文件逻辑放在主服务器中吗?或者我可以在一些单独的过程中下载/更新JSON数据并通知主数据下载/更新数据,以便主人可以为工作人员发送消息?它是否可能,它会是正确的方式吗?或者我的做法根本不对?

并且不确定它是否's worth to mention, but this whole thing is 123615 ' Express'(https://expressjs.com/) . 这也为我提出了一个问题,我应该在每个工作人员中初始化整个表达事物,还是只在某个地方初始化它?

任何评论将不胜感激,谢谢:)