我正在设计一个NodeJS应用程序,可以从少数不同来源下载,解析和使用基本的机器学习技术。这可能是计算上昂贵的,并且为了避免充斥我的应用程序的主事件循环,我想利用子进程/微服务将每个主要任务隔离到它自己的进程中。
理想情况下,流程隔离看起来像这样:
Main Process
|-Data Source A
| |- Data Downloading Microservice
| |- Data Parsing Microservice
| |- Main Computation Microservice
|-Data Source B
| |- Data Downloading Microservice
| |- Data Parsing Microservice
| |- Main Computation Microservice
...
根据我目前的理解,每个进程之间的数据管道和通信将受到限制,当需要从Data Source
子进程之一访问特定信息时,我将不得不从Main Process
向Data Source
进程发送消息,然后让Data Source
进程向其中一个微服务发送消息,然后将这些数据一直传回。< / p>
有更简单的方法吗?例如,能够在查找表中为每个子流程存储流程ID表,并能够直接向该流程发送消息,而无需通过最初生成它的消息?< / p>