Gerenciamento de Mensagens
Leia sobre como publicar, consumir e gerenciar mensagens em uma fila.
Exemplo de Fluxo de Filas
O diagrama a seguir fornece um exemplo em que o produtor envia uma mensagem para uma fila e dois consumidores tentam processá-la.
- Um produtor envia uma mensagem para a fila com tempo padrão de retenção de mensagens.
O produtor recebe a confirmação de que o serviço Queue recebeu e armazenou a mensagem.
- O consumidor A tenta receber a mensagem.
O Consumidor A recebe a mensagem, que deve ser processada dentro do Limite de Visibilidade A.
- O consumidor B tenta receber uma mensagem.
O Consumidor B não recebe nada porque a única mensagem disponível já foi consumida pelo Consumidor A.
- O Consumidor A não processa a mensagem dentro do Timeout de Visibilidade A; por isso, ele atualiza a mensagem para estender o timeout de visibilidade.
- O consumidor B tenta receber uma mensagem novamente.
O Consumidor B não recebe nada porque a única mensagem disponível foi consumida e estendida pelo Consumidor A.
- Ocorre o timeout de visibilidade estendido.
- O consumidor B tenta receber uma mensagem pela terceira vez.
O Consumidor B recebe a mensagem, que deve ser processada dentro do Limite de Visibilidade B.
- O Consumidor A tenta receber a mensagem, mas não recebe nada, porque o Consumidor B consumiu a mensagem.
O consumidor A não pode mais estender o timeout de visibilidade da mensagem nem excluir a mensagem.
- O Consumidor B processa a mensagem com sucesso e tenta excluir a mensagem da fila.
O Consumidor B recebe a confirmação de que a mensagem foi excluída permanentemente, portanto não pode ser entregue a nenhum outro consumidor.
Toda vez que uma mensagem é entregue a um consumidor, o campo Contagem de Entregas da mensagem é incrementado. Quando a contagem de entrega de uma mensagem atinge o máximo configurado, ela é enviada para uma fila de carta vencida.
Ponto Final de Mensagens
Para produzir em uma fila ou consumir de uma fila, você precisa saber o ponto final de mensagens usado por essa fila. O ponto final de mensagens de uma fila é semelhante a este:
https://cell-1.queue.messaging.<region>.oci.oraclecloud.com
Para localizar o ponto final de mensagens de uma fila:
- Na página da lista Filas, selecione a fila com a qual deseja trabalhar. Se precisar de ajuda para localizar a página da lista ou a fila, consulte Listando Filas.
A seção Informações da fila contém o Ponto final de mensagens.
Você pode encontrar o ponto final de mensagens usando a API com uma solicitação GetQueue
.
Política Obrigatória de IAM
Consulte Políticas de Fila e Exemplos de Política para obter detalhes sobre as permissões necessárias para o gerenciamento de filas.