[英]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.