我正在编写一个节点应用程序,它有两个主要任务。假设任务 A(从缓存层读取并响应请求)和 B(操作服务器响应未由任务 A 处理的请求)。将来我知道任务 A 将是更常用的任务,而任务 B 将仅限于新请求(几乎占总负载的 10%)。
鉴于这种情况(以及任务 A(网络密集型)和 B(CPU 密集型)的不同性质),我考虑将任务 A 和任务 B 部署在不同的服务器集上,以便无论另一个。
这种方法对于所描述的场景是否正确?如果是,那么在任务 A 和 B 的不同层之间进行通信的一般做法是什么。假设所有请求都需要立即完成(排除使用队列的延迟执行)。