Ventana acoplable contenedor y PM2 runnng en la instancia de ec2

0

Pregunta

Tengo una instancias de ec2 que se ejecuta en un nodo de la aplicación. Estoy pensando en hacer un contenedor de aplicación utilizando la ventana acoplable. El pm2 está ejecutando dos de la aplicación de uno es el nodo de la aplicación (express y pug) y un cronjob el uso de la agenda. Es una buena idea para poner mis aplicaciones en un contenedor?

Aún no estoy familiarizado con los pros y los contras de esto y he leído que la ventana acoplable ya es un administrador de procesos. ¿Cómo será el pm2 encaja en todo esto una vez que la implementan. O debo zanja ventana acoplable y ejecutar las aplicaciones en el nativo de linux de mi ec2.

amazon-ec2 docker node.js pm2
2021-11-23 22:13:26
1

Mejor respuesta

2

Usted tiene un par de preguntas, trato de responder a ellos a continuación:

1. Es una buena idea para poner mis aplicaciones en un contenedor?

Depende, hay muchos casos de por qué te gustaría ejecutar el mismo contenedor hacer varias cosas. Pero realmente depende de la CPU/RAM/Memoria de uso del trabajo. Y ¿con qué frecuencia se ejecuta?

De todos modos a partir de la experiencia me puede decir si puedo ejecutar una tarea programada en el mismo recipiente, yo siempre uso un trabajador enfoque para esto utilizando NodeJS núcleos worker_threads o cluster el módulo. Porque usted no quiere que un cronjob impactos en el comportamiento de los principales hilo. Tengo un ejemplo de ejecución de 2 aplicaciones en múltiples hilos en la siguiente repo.

2. debo zanja ventana acoplable y ejecutar las aplicaciones en el nativo de linux de mi ec2

Ventana acoplable y PM2 son 2 cosas diferentes. Docker es, básicamente, containerize toda su Nodo de aplicación, por lo que es mucho más fácil para enviar. PM2 es un administrador de procesos por nodo y se asegura de que su aplicación está en marcha y viene con algunas buenas métricas y los registros de interfaz de usuario en PM2 métricas. Definitivamente, usted puede usar los 2 juntos, como PM2 hace también asegúrate de que tu aplicación se iniciará después de que se bloquea.

Sin embargo, si utiliza pm2 usted tiene que utilizar la pm2 de tiempo de ejecución cuando se utiliza ventana acoplable. Ejemplo Dockerfile:

FROM node:16.9.0

WORKDIR /home/usr/app

COPY . .

RUN npm ci && npm run build

# default command is starting the server
CMD ["npx", "pm2-runtime", "npm", "--", "start"]
2021-11-23 22:58:58

Muchas gracias por la respuesta. El cron job sólo se ejecuta durante la medianoche por lo tanto no debe impacto de la aplicación principal. Voy a mirar en pm2 tiempo de ejecución ya que realmente desea implementar una ventana acoplable. Supongo que la siguiente cosa que para mí es entender cómo hacer todo esto en la construcción del oleoducto tal vez el uso de Jenkins.
cam

En otros idiomas

Esta página está en otros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Slovenský
..................................................................................................................