Canais
Um canal é um destino efêmero em uma fila que pode ser usada para melhorar a justiça do processamento de mensagens, especificar a seleção de mensagens e ativar padrões de solicitação-resposta. As mensagens publicadas em um canal estão disponíveis para consumo no nível da fila ou do canal.
Os canais aumentam o número de destinos individuais endereçáveis em uma única fila, permitindo um melhor dimensionamento.
Os canais não exigem criação ou exclusão explícita. Os canais compartilham as mesmas permissões, método de criptografia e limites de sua fila pai, mas as filas podem configurar a capacidade do canal, limitando a quantidade máxima da capacidade geral da fila que um único canal pode usar a qualquer momento.
Feira de Processamento de Mensagem
Quando muitos produtores publicam na mesma fila, um pico repentino de volume de um produtor pode causar atrasos no processamento de mensagens de outros produtores. Em alguns cenários, talvez você precise proteger o consumo de mensagens contra distorção em favor dos consumidores com mais tráfego ou vizinhos barulhentos.
Sem canais, você precisaria manter filas individuais para cada produtor e implementar um mecanismo de balanceamento de carga para consumir mensagens de todos os produtores igualmente.
Com canais, cada produtor pode publicar mensagens em um canal específico, mas você pode consumir mensagens no nível da fila. O serviço Queue retorna mensagens de um canal aleatório que tem mensagens disponíveis, resultando em melhor equidade.
Seleção da Mensagem
Os consumidores podem incluir um parâmetro opcional nas solicitações para selecionar mensagens que foram publicadas com o ID do canal correspondente. O serviço Fila só retorna mensagens disponíveis de um dos canais que correspondem ao ID.
Se vários IDs de canais corresponderem à seleção em uma solicitação, as mensagens serão retornadas de um canal aleatório que tenha mensagens disponíveis. Se as mensagens forem publicadas em um canal específico, mas uma solicitação de consumo não incluir um canal, elas serão retornadas de um canal aleatório com mensagens disponíveis.
Para obter mais informações, consulte Consumindo Mensagens de um Canal.
Padrões de Resposta da Solicitação
Um padrão efêmero de resposta à solicitação é um padrão de integração bem estabelecido que permite que um aplicativo remetente envie uma solicitação e forneça uma maneira para que o destinatário envie corretamente uma resposta ao aplicativo remetente. Esse padrão geralmente precisa de apenas uma fila de curta duração para a transação.
Usando filas e canais, vários aplicativos podem enviar mensagens para uma única fila e especificar um ID de canal que se identifica exclusivamente. Um aplicativo de consumidor pode enviar uma resposta ao produtor da mensagem e incluir seu ID. Depois que o produtor recebe a resposta que inclui o mesmo ID, a transação é considerada concluída. Depois que as mensagens são processadas com sucesso e excluídas pelo consumidor, e se não houver mais mensagens no canal, o canal será excluído automaticamente.