4
respostas

Aplicação Duplicada

Ao gerar novas instancias da minha aplicação, os dados não são salvos de forma unificada, por exemplo, crio um pedido e em seguida crio um outro pedido, quando eu faço um find, um pedido foi criado em uma instancia e outro pedido foi criado na segunda instancia, então se por exemplo eu altero de realizado para pago e dou um Send no Postman, ele irá alterar o pedido da primeira instancia/aplicação e o da segunda vai continuar com o Status "realizado", mas se eu clicar em send pela segunda vez, ai sim altera o do segundo pedido... Então no meu caso não esta sendo gerado 2 portas diferentes que apontam para uma mesma aplicação e sim cada porta esta apontando para uma aplicação diferente/duplicada... Isso é correto ?

4 respostas

Olá Abner, tudo bem?

Vamos lá, acho que não entendi muito bem sua pergunta, mas vou tentar ajudar kkk. Cada porta aponta para uma única instância da aplicação. Pedidos podem ser criados em diferentes instancias de aplicação e estarem com status diferentes no banco de dados. Não necessariamente o status dos pedidos será atualizado na ordem em que os pedidos foram criados. Mas basicamente é isso que você descreveu, o segundo pedido terá seu status alterado assim como o primeiro pedido.

Oi Otávio,

É basicamente isso mesmo, vou tentar ser um pouco mais claro... Exemplo, estou com 2 instâncias de pedidos de pé... vou e crio um pedido, esse pedido fica com o ID 1... no momento em que crio um segundo pedido, ele também será criado com o ID 1, porém cada um ficou em uma instancia/porta, se peço para fazer a alteração do status do ID 1, ele vai alterar o da primeira instância, porém o da segunda instância manterá o seu status, a mesmo que eu de um "send" em seguida novamente para alterar o mesmo ID 1, daí ele irá alterar o status do pedido da segunda instância...

No meu entendimento o que era para acontecer, no momento em que eu der um "send" para gerar um segundo pedido, por mais que ele seja gerado pela segunda instância/porta, ele deveria ter o ID 2...

Ao meu ver da impressão de esta duplicando, na minha cabeça, o que eu entendi de multiplas instancias/portas, é para ter sempre uma porta disponivel para caso haja multiplos acessos simultâneos... No meu caso aqui, se eu tiver 10 instancias/portas e 10 usuarios fazer pedidos ao mesmo tempo, será gerado 10 pedidos com o mesmo ID, pq cada um foi gerado em uma instancia, e não um ID diferente para cada... Isso não irá gerar um conflito posteriormente ?

Na vdd o primeiro pedido será com ID 1, o próximo pedido será de ID 2. Cada instância de uma aplicação em microsserviços deve ser independente e não deve compartilhar estados. Ou seja, um pedido só deve ter um ID após gravar no banco de dados, evitando assim que o próximo pedido tenha um ID igual, pois a ideia dos IDs é sempre serem únicos.

Exato... mas no meu caso esta acontecendo ao contrário disso, se tiver 3 instâncias, vai gerar 3 ID's 1 e não ID's 1, 2, 3... Vou mandar meu Git Hub se alguem tiver interesse de ver pra dar um help kk

https://github.com/abnerAmos?tab=repositories

O projeto esta dividido em 4 microsserviços conforme a aula: payment-service payment-order payment-gateway payment-server

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software