No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Gesti贸n de microservicios con PM2

22/29
Recursos

Aportes 13

Preguntas 2

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Reg铆strate o inicia sesi贸n para participar.

Al iniciar un proceso en pm2 se le puede asignar un nombre usando el flag --name.

pm2 start api/index.js --name api-principal
pm2 start mysql/index.js --name api-mysql
pm2 start post/index.js --name api-post

Revisando la documentaci贸n de pm2 me encontr茅 que se puede crear un archivo de configuraci贸n de todas las apis y poderlas levantar o reiniciar:
primero creamos un archivo ecosystem.config.js

module.exports = {
  apps : [
    {
      name: 'API-MAIN',
      script: 'src/api/index.js',
      instances: 2,
      autorestart: true,
      watch: false,
      max_memory_restart: '2G',
      env: {
        NODE_ENV: 'development'
      },
      env_production: {
        NODE_ENV: 'production'
      }
    },
    {
      name: 'API-MYSQL',
      script: 'src/microservices/mysql/index.js',
      instances: 2,
      autorestart: true,
      watch: false,
      max_memory_restart: '2G',
      env: {
        NODE_ENV: 'development'
      },
      env_production: {
        NODE_ENV: 'production'
      }
    },
    {
      name: 'API-POST',
      script: 'src/microservices/posts/index.js',
      instances: 2,
      autorestart: true,
      watch: false,
      max_memory_restart: '2G',
      env: {
        NODE_ENV: 'development'
      },
      env_production: {
        NODE_ENV: 'production'
      }
    }
  ],
};

Para iniciar los servicios con

pm2 start ecosystem.config.js --env [development|production]```

Tengo una duda, no me hab铆a percatado pero si corro los servicios desde pm2, varios de estos truenan al hacer la petici贸n a la api (store) pero si los corro por separado desde la terminal, no ocurre ningun problema. 驴A qu茅 se debe esto profesor?
[](

DIOS, QUE CLASE TAN INCREIBLE!

Con el ecosystem.config.js que podemos generar con el comando pm2 ecosystem podemos configurar las variables de entorno que gestionamos en el archivo config.js del proyecto.

Podemos declarar s铆 son variables para usar en desarrollo 贸 en producci贸n

    {
      name: "API",
      script: "src/api/index.ts",
      watch: true,
      env_production: {
        API_PORT: 3000,
      },
env_development: {
        API_PORT: 8080,
      },

Luego para cargar las variables usamos pm2 start ecosystem.config.js --env [variable]

Me aparecen un mont贸n de l铆neas de comando en la pantalla que me interrumpen y me impiden escribir.

Cuando le doy a pm2 start鈥

Excelente informaci贸n sobre PM2

Muy interesante!! Me gust贸 mucho para poder gestionar en ambientes tipo PRD y tiene varias funcionalidades m谩s de las que vimos en la clase

last V4.4 pm2

Muy bueno, ya lo habia usado pm2, tiene una consola grafica, incluso la podemos monitorear de forma remota, pero esta plataforma es de pago 馃槮

Un profe dec铆a que node gestionara los procesos de node como que no era tan bueno, que ser铆a mejor buscar alternativas m谩s interesantes como systemd de linux, la cuesti贸n es c贸mo se aplicar铆a para los microservicios.

Magistraaalll!!

Una muy buena herramienta para no volvernos locos con la gestion de los servicios.