Mobile contenitore e PM2 runnng in istanza ec2

0

Domanda

Ho un'istanze ec2 che esegue un nodo di applicazione. Sto pensando di fare un contenitore di implementazione tramite mobile. Il pm2 è l'esecuzione di due applicazione di uno è il vero nodo di applicazione (express e pug) e un cronjob che utilizza ordine del giorno. È una buona idea di mettere il mio applicazioni in un unico contenitore?

Io non sono ancora familiarità con i pro e i contro di questo e ho letto che la finestra mobile è già un processo di gestione. Come sarà il pm2 adattarsi a tutti questa volta ho attuazione. O devo semplicemente fosso mobile ed eseguire le applicazioni native per linux del mio ec2.

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

Migliore risposta

2

Avete un paio di domande, provo a rispondere qui di seguito:

1. È una buona idea di mettere il mio applicazioni in un unico contenitore?

Dipende, ci sono molti casi, motivo per cui si desidera eseguire lo stesso contenitore facendo più cose. Ma dipende molto dalla CPU/RAM/Memoria di utilizzo del lavoro. E come spesso fa?

Comunque per esperienza posso dire che se ho un cronjob dallo stesso contenitore, vorrei utilizzare sempre un lavoratore approccio per questo utilizzando NodeJS core worker_threads o cluster modulo. Perché non si desidera che un cronjob impatti il comportamento del thread principale. Ho un esempio di esecuzione di 2 applicazioni su più thread nella seguente repo.

2. devo solo fosso mobile ed eseguire le applicazioni native per linux del mio ec2

Mobile e PM2 sono 2 veramente cose diverse. Docker è fondamentalmente per containerize intero Nodo app, quindi è molto più facile per la nave. PM2 è un process manager per il nodo e fa in modo che l'app è e viene fornito con alcune belle le metriche e i registri di interfaccia utente sul PM2 metriche. Si può sicuramente utilizzare i 2 insieme, come PM2 fa anche in modo che l'app si avvia dopo si blocca.

Tuttavia, se si utilizza pm2 devi usare il pm2-runtime quando si utilizza la finestra mobile. Esempio 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

Grazie mille per la risposta. Il job di cron funziona solo durante la mezzanotte, quindi, non dovrebbe impatto dell'applicazione principale. Io vi aspetto in pm2-runtime da quando ho veramente voglia di implementare mobile. Credo che la prossima cosa che per me è capire come fare tutto questo, nel costruire la pipeline, forse usando Jenkins.
cam

In altre lingue

Questa pagina è in altre lingue

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