Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Como proceder quando possuo uma aplicação escalonada ?

Olá,

Me surgiu uma dúvida ao que se refere ao tempo de visibilidade de uma mensagem. No vídeo o exemplo citado fala que ao configurar o tempo de visibilidade de uma mensagem, outras aplicações não teriam acesso a essa mensagem, contudo, como devemos proceder quando temos a mesma aplicação escalonada através de mais de um container ?

Como evitar que uma mensagem seja consumida por diferentes instâncias da mesma aplicação ao se aplicar um escalonamento ?

1 resposta
solução!

Olá Renato, tudo bem?

Quando temos a mesma aplicação escalonada através de mais de um container o Visibility timeout funciona da mesma forma, o SQS garante que a mensagem foi consumida por um container e ficará indisponível para ser consumida por outro container. A mensagem não vai ser consumida "ao mesmo tempo" por todos os containers, apenas um container irá receber a mensagem.

https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html

Uma mensagem é considerada armazenada após ser enviada a uma fila por um produtor, mas ainda não recebida da fila por um consumidor (ou seja, entre os estados 1 e 2). Não há cota para o número de mensagens armazenadas. Uma mensagem é considerada em trânsito após ser recebida de uma fila por um consumidor, mas ainda não excluída da fila (ou seja, entre os estados 2 e 3). Há uma cota para o número de mensagens em andamento.