NodeJ的资源共享和对该资源的依赖性处理

时间:2018-11-02 07:24:06

标签: node.js mutex event-loop

我有一个场景,我的nodejs服务器将同时接受50个“ GET”请求。现在完成了这50个“ GET”请求,以获取将由其他服务器提供的一些数据。

现在要访问其他服务器并获取我的50个请求中的每个数据,首先,我需要从我的nodejs调用该服务器的登录api。此登录api将向我的nodejs返回一个sessionId。现在,要解决所有这50个“ GET”请求,我的nodejs需要使用该新获得的sessionId对该服务器的50个请求中的每一个进行“ GET”调用。

限制是我只能从同一来源调用一次登录api(该服务器上存在某种api速率限制器,它将拒绝来自同一来源的下一个连续请求)。一旦获得有效的sessionId,就可以使用该sessionId进行n个api调用,而不会出现任何问题。

我还已经在nodejs服务器上实现了集群。因此,现在我正在运行新的节点进程副本。因此,在“ n”个节点进程之外,它们中的任何“一个”都只能请求该sessionId。但是,一旦收到该sessionId,其他进程就必须也知道该sessionId,以便它们可以从这50个请求的池中解析分配给它们的请求。

如何在不同的节点进程之间实现sessionId的同步。以及如何确保只有当我获得有效的sessionId时,才能解决所有50个请求。

结构图:https://drive.google.com/open?id=1x1CwE5aCuv03XnNMB7C8X3D_5aWqCF1m

0 个答案:

没有答案