Múltiplos nodes no mesmo projecto


#1

Boas pessoal…

A cena é a seguinte:

Vejamos o seguinte cenário: node1 e node2

Pretendo utilizar múltiplos nodes no mesmo projecto, mas a ideia é que quando tiver de actualizar os ficheiros do node1, apenas o node1 deve ser reinicializado, sem precisar reiniciar o node2, mas o que acontece é que se eu actualizar os ficheiros de um ou de outro, ambos reiniciam.

Qual é a melhor forma de utilizar múltiplos nodes, seria ter duas pastas “app” ou mesmo dentro da mesma existe alguma forma de evitar o cenário acima?


#2

Não creio que haja uma forma de fazeres isso se fazem parte do mesmo projecto.
Entretanto, se estás a utilizar o Elastic Beanstalk, uma das formas de minimizares isso é separares o projecto por versões e modificares as definições para “immutable update”.
Assim a actual branch continuará a rodar enquanto fazes o deploy da nova.
Mas neste caso a versão actual do node1 continuaria a rodar também até ser substituída.

Vê: https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.deploy-existing-version.html


#3

Nice. Por acaso, tinha pensado nisso mas achei que poderia haver uma forma. Falo ainda do meu ambiente de desenvolvimento e não estarei a usar o Elastic Beanstalk. Mas já percebi que a solução é separar o projecto e liga-lo num forma de API. É viável?


#4

O que cada node faz?


#5

No caso, um seria para o projecto todo e o outro trataria de processos de tarefas que correm em segundo plano.


#6

Sem ter mais detalhes, eu diria para separa-los em dois serviços.


#7

Blz… :smiley:


#8

Não me familiarizei com front-end e nem back-end, mas em linguagem C e outras familiares em casos iguais a este, usa-se preferencialmente estruturas de dados dinâmico:

struct node {

     struct dados;    
     struct node next;

};

Onde, podemos listar, adicionar, mover, e remover um elemento separadamente de outros, sem comprometer o funcionamento dos demais elementos.


#9

Se quiser saber mais sobre nodes, Donald Knuth é o cara certo a se ler


#10

O problema aqui não é o comprometimento, mas o facto de toda a aplicação ter de ir abaixo por se mudar alguma coisa nela.
E claro, faz todo o sentido ser assim.
Se são funções tão distintas, convêm separa-las.