Azure Service Bus - recursos avançados
O Service Bus inclui recursos avançados que permitem resolver problemas de mensagens mais complexos. Este artigo descreve vários desses recursos.
Sessões de mensagens
Para criar uma garantia FIFO (first-in, first-out) no Service Bus, use sessões. As sessões de mensagens permitem o tratamento exclusivo e ordenado de sequências ilimitadas de mensagens relacionadas. Para permitir a manipulação de sessões em sistemas de alta escala e alta disponibilidade, o recurso de sessão também permite armazenar o estado da sessão, o que permite que as sessões se movam com segurança entre manipuladores. Para obter mais informações, consulte Sessões de mensagem: primeiro a entrar, primeiro a sair (FIFO).
Reencaminhamento automático
O recurso de encaminhamento automático encadeia uma fila ou assinatura para outra fila ou tópico dentro do mesmo namespace. Quando você usa esse recurso, o Service Bus move automaticamente as mensagens de uma fila ou assinatura para uma fila ou tópico de destino. Todos esses movimentos são feitos de forma transacional. Para obter mais informações, consulte Encadeamento de entidades do Service Bus com encaminhamento automático.
Fila de mensagens mortas
Todas as filas do Service Bus e assinaturas de tópicos têm filas de letra morta (DLQ) associadas. Um DLQ contém mensagens que atendem aos seguintes critérios:
- Eles não podem ser entregues com sucesso a nenhum recetor.
- Eles expiraram.
- Eles são explicitamente deixados de lado pelo aplicativo recetor.
As mensagens na fila de mensagens mortas são anotadas com o motivo pelo qual foram colocadas lá. A fila de mensagens mortas tem um ponto de extremidade especial, mas age como qualquer fila normal. Um aplicativo ou ferramenta pode navegar por um DLQ ou desfilar dele. Você também pode encaminhar automaticamente para fora de uma fila de mensagens mortas. Para obter mais informações, consulte Visão geral das filas de mensagens mortas do Service Bus.
Entrega agendada
Você pode enviar mensagens para uma fila ou um tópico para processamento atrasado, definindo um horário em que a mensagem fica disponível para consumo. As mensagens agendadas também podem ser canceladas. Para obter mais informações, consulte Mensagens agendadas.
Diferimento de mensagens
Um cliente de fila ou assinatura pode adiar a recuperação de uma mensagem recebida para um momento posterior. A mensagem pode ter sido postada fora de um pedido esperado e o cliente deseja esperar até receber outra mensagem. As mensagens adiadas permanecem na fila ou na assinatura e devem ser reativadas explicitamente usando seu número de sequência atribuído ao serviço. Para obter mais informações, consulte Adiamento de mensagens.
Transações
Uma transação agrupa duas ou mais operações num âmbito de execução. O Service Bus permite agrupar operações em várias entidades de mensagens dentro do escopo de uma única transação. Uma entidade de mensagem pode ser uma fila, tópico ou assinatura. Para obter mais informações, consulte Visão geral do processamento de transações do Service Bus.
Exclusão automática em marcha lenta
A exclusão automática em ociosidade permite especificar um intervalo ocioso após o qual uma fila ou assinatura de tópico é excluída automaticamente. O intervalo é redefinido quando uma mensagem é adicionada ou removida da assinatura. A duração mínima é 5 minutos. Para obter uma visão geral sobre o que é considerado ociosidade para entidades, consulte Ociosidade.
Deteção de duplicados
O recurso de deteção de duplicados permite que o remetente reenvie a mesma mensagem novamente e que o corretor solte uma duplicata em potencial. Para obter mais informações, consulte Deteção de duplicatas.
Exclusão em lote de mensagens
O Barramento de Serviço do Azure dá suporte à exclusão de mensagens em lotes. É útil em cenários em que as mensagens dentro de filas ou assinaturas expiraram ou deixaram de ser relevantes, necessitando de uma limpeza. Para obter mais informações, consulte Exclusão em lote.
Apoio à encomenda
O recurso de pedido de suporte permite especificar se as mensagens enviadas para um tópico são encaminhadas para a assinatura na mesma ordem em que foram enviadas. Este recurso não suporta tópicos particionados. Para obter mais informações, consulte TopicProperties.SupportOrdering in .NET ou TopicProperties.setOrderingSupported em Java.
Recuperação após desastre geográfica
Quando uma região do Azure enfrenta tempo de inatividade, o recurso de recuperação de desastres permite que o processamento de mensagens continue operando em uma região ou data center diferente. O recurso mantém um espelho estrutural de um namespace disponível na região secundária e permite que a identidade do namespace alterne para o namespace secundário. As mensagens já postadas permanecem no namespace principal anterior para recuperação assim que o episódio de disponibilidade diminuir. Para obter mais informações, consulte Recuperação de desastres geográficos do Barramento de Serviço do Azure. Esse recurso replica apenas metadados (entidades, configuração, propriedades) de entidades do Service Bus, não os dados nelas.
Replicação geográfica
O recurso de Replicação Geográfica do Barramento de Serviço é uma das opções para isolar os aplicativos do Barramento de Serviço do Azure contra interrupções e desastres, fornecendo replicação de metadados (entidades, configuração, propriedades) e dados (dados da mensagem e alterações de propriedade/estado da mensagem).
Segurança
O Service Bus suporta protocolos padrão AMQP (Advanced Message Queuing Protocol) 1.0 e HTTP ou REST e suas respetivas instalações de segurança, incluindo TLS (segurança em nível de transporte). Os clientes podem ser autorizados para acesso usando a Assinatura de Acesso Compartilhado ou a segurança baseada em função do Microsoft Entra ID .
Para proteção contra tráfego indesejado, o Service Bus fornece recursos de segurança, como firewall IP e integração com redes virtuais.
Conteúdos relacionados
Consulte Exemplos de mensagens do Barramento de Serviço que mostram como usar esses recursos do Barramento de Serviço.