Pular para o conteúdo principal

Tipos de instância do microservice em Node

Quando o microservice em Node é executado no cloud run, ele pode ser executado em diferentes tipos de configuração de concorrência.

Se a env NODE_TYPE=pure-io, o microservice em Node deve responder as solicitações do app (frontend) de forma rápida, geralmente usando chamadas intensivas em termos de IO. Nessa configuração, cada instância do google cloud run geralmente lida com 40 solicitações em paralelo.

Se a env NODE_TYPE=worker-io, o microservice em Node geralmente lida com chamadas iniciadas pelo google cloud tasks com objetivo de executar tarefas em background. Essas tarefas devem ser necessariamente intensivas em IO, para tarefas que demandam muita cpu, deve-se utilizar a configuração NODE_TYPE=worker-cpu. Nessa configuração, cada instância do google cloud run geralmente lida com 40 solicitações em paralelo.

Se a env NODE_TYPE=worker-cpu, o microservice em Node geralmente lida com chamadas iniciadas pelo google cloud tasks com objetivo de executar tarefas em background. Essas tarefas devem ser necessariamente intensivas em CPU. Nessa configuração, por ser intensiva em termos de CPU, cada instância do google cloud run geralmente lida com 1 solicitação por vez.

Para garatir a segurança dos endpoints de worker-io e worker-cpu, para se executar uma chamada, é necessário passar um header com um token de autorização. O valor desse token deve ser provido no arquivo de configuração ou como uma env.

Localmente, para executarmos tanto os endpoints de pure-io, worker-io e worker-cpu, podemos definir a env NODE_TYPE=all.