繁体   English   中英

我可以在 nodejs 微服务中有多个事件循环吗?

[英]Can I have multiple event loop in nodejs microservices?

我有 4 个微服务,分别命名为“auth_ms”、“coin_ms”、“device_ms”和 setting_ms。 我在不同的端口上运行所有 4 个微服务,例如:3000、3001、3002 和 3003。

我的问题:通过在不同的端口上运行这 4 个服务器,我们有 4 个事件循环吗? 如果不是,那么如果我把它放在 Docker 容器中,它是否有 4 个事件循环? 假设所有事情都只有一个事件循环,那么微服务如何帮助处理?

您的每个微服务都在本地作为不同的进程运行,因此它们将具有单独的事件循环。 这也适用于 Docker 容器,其中服务将完全隔离。

当您在终端中编写node index.js时,您正在创建一个 NodeJS 进程,其中包含 node 的所有优点,包括事件循环。

假设您的微服务在单独的节点实例中运行,那么您的每个节点实例都会有一个事件循环。 只要有单独的进程在运行,它是否在 docker 中都没关系。

现在,如果只有一个操作系统进程,那么一次只能执行一个操作。 更糟糕的是,如果您在多核机器上运行它,则只会使用其中一个内核,从而浪费了所有可用于处理的潜在资源。 出于这个原因,在生产环境中,我通常为每个可用的 vCPU 运行容器。

所以你想要的是 - 你拥有的每项服务的单独进程(单独的 docker 容器也算在内)并且 rest 将由系统处理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM