No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Invierte en tu educación con el precio especial

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

11 Días
15 Hrs
40 Min
32 Seg

Gestión de microservicios con PM2

22/29
Recursos

Aportes 14

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

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?
[](

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…

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]

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.

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 😦

tambie se puede crear con pm2 start src/index.js --name=nombre\_microservicio

Magistraaalll!!

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