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.

Diagrama que representa a produção, a atualização, o consumo e a exclusão de uma mensagem.

  1. 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.

  2. O consumidor A tenta receber a mensagem.

    O Consumidor A recebe a mensagem, que deve ser processada dentro do Limite de Visibilidade A.

  3. 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.

  4. 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.
  5. 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.

  6. Ocorre o timeout de visibilidade estendido.
  7. 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.

  8. 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.

  9. 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.

Observação

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:

  1. 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.

Próximas Etapas