Partilhar via


Camada de mensagens premium do Service Bus

As Mensagens do Service Bus, que incluem entidades como filas e tópicos, combinam capacidades de mensagens empresariais com semântica de publicação-subscrição avançada à escala da cloud. As Mensagens do Service Bus são utilizadas como base de comunicação para várias soluções de cloud sofisticadas.

O escalão Premium das Mensagens do Service Bus atende pedidos de cliente comuns relativamente a dimensionamento, desempenho e disponibilidade para aplicações fundamentais. Recomendamos que você use a camada premium para cenários de produção. Embora os conjuntos de recursos sejam quase idênticos, as camadas padrão e premium do Service Bus Messaging são projetadas para atender a diferentes casos de uso.

Na tabela seguinte, destacam-se algumas das principais diferenças.

Critérios Premium Standard
Débito Débito elevado Débito variável
Desempenho Desempenho previsível Latência variável
Preços Preços fixos Preços variáveis de utilização
Escala Possibilidade de aumentar e reduzir verticalmente a carga de trabalho N/A
Tamanho da mensagem Tamanho da mensagem até 100 MB. Para obter mais informações, consulte Suporte a mensagens grandes. Tamanho da mensagem até 256 KB

As Mensagens Premium do Service Bus fornecem isolamento de recursos no nível de CPU e memória para que cada carga de trabalho do cliente seja executada de forma isolada. Este contentor de recursos é designado por unidade de mensagens. A cada espaço de nomes premium é atribuído, pelo menos, uma unidade de mensagens. Você pode comprar 1, 2, 4, 8 ou 16 unidades de mensagens para cada namespace Premium do Service Bus. Uma única carga de trabalho ou entidade pode abranger várias unidades de mensagens e o número de unidades de mensagens pode ser alterado à vontade. O resultado é um desempenho previsível e repetível da sua solução com base no Service Bus.

Este desempenho não só é mais previsível e disponível, como também é mais rápido. Com mensagens premium, o desempenho máximo é muito mais rápido do que com o nível padrão.

Diferenças técnicas de mensagens premium

As seções a seguir discutem algumas diferenças entre as camadas de mensagens premium e padrão.

Entidades expressas

Como as mensagens Premium são executadas em um ambiente de tempo de execução isolado, as entidades expressas não são suportadas em namespaces premium. Uma entidade expressa mantém uma mensagem na memória temporariamente antes de gravá-la no armazenamento persistente. Se você tiver um código em execução no sistema de mensagens padrão e quiser portá-lo para a camada premium, verifique se o recurso de entidade expressa está desativado.

Uso de recursos de mensagens premium

Em geral, qualquer operação em uma entidade pode causar uso de CPU e memória. Aqui estão algumas dessas operações:

  • Operações de gerenciamento, como operações CRUD (Create, Retrieve, Update and Delete) em filas, tópicos e assinaturas.
  • Operações de tempo de execução (enviar e receber mensagens)
  • Operações de monitorização e alertas

O uso adicional de CPU e memória não tem preço adicional. Para o nível de mensagens premium, há um preço único para a unidade de mensagem.

O uso da CPU e da memória é rastreado e exibido para você pelos seguintes motivos:

  • Fornecer transparência nos internos do sistema
  • Compreender a capacidade dos recursos adquiridos.
  • Planejamento de capacidade que ajuda você a decidir aumentar ou diminuir a escala.

Quantas unidades de mensagens são necessárias?

Você especifica o número de unidades de mensagens ao provisionar um namespace premium do Barramento de Serviço do Azure. Essas unidades de mensagens são recursos dedicados alocados ao namespace. Quando o particionamento está habilitado no namespace, as unidades de mensagens são distribuídas igualmente entre as partições.

O número de unidades de mensagens alocadas ao namespace premium do Service Bus pode ser ajustado dinamicamente para considerar a alteração (aumento ou diminuição) nas cargas de trabalho.

Há alguns fatores a serem levados em consideração ao decidir o número de unidades de mensagens para sua arquitetura:

  • Comece com 1 ou 2 unidades de mensagens alocadas ao seu namespace ou 1 unidade de mensagem por partição.
  • Estude as métricas de uso da CPU dentro das métricas de uso de recursos para seu namespace.
    • Se o uso da CPU estiver abaixo de 20%, você poderá reduzir o número de unidades de mensagens alocadas ao seu namespace.
    • Se o uso da CPU estiver acima de 70%, seu aplicativo se beneficiará da ampliação do número de unidades de mensagens alocadas ao seu namespace.

Para saber como configurar um namespace do Service Bus para dimensionar automaticamente (aumentar ou diminuir unidades de mensagens), consulte Atualizar automaticamente unidades de mensagens.

Nota

O dimensionamento dos recursos alocados para o namespace pode ser preventivo ou reativo.

  • Preventivo: Se a carga de trabalho adicional for esperada (devido à sazonalidade ou tendências), você poderá continuar a alocar mais unidades de mensagens para o namespace antes que as cargas de trabalho sejam atingidas.

  • Reativo: Se cargas de trabalho adicionais forem identificadas pelo estudo das métricas de uso de recursos, recursos adicionais poderão ser alocados ao namespace para incorporar a demanda crescente.

Os medidores de faturamento do Service Bus são por hora. No caso de expansão, você paga apenas pelos recursos adicionais pelas horas em que eles foram usados.

Introdução às mensagens premium

Começar a usar mensagens premium é simples e o processo é semelhante ao das mensagens padrão. Comece por criar um espaço de nomes no portal do Azure. Certifique-se de que seleciona Premium, em Escalão de preço. Selecione Ver detalhes completos de preços para ver mais informações sobre cada camada.

Captura de tela que mostra a seleção da camada premium ao criar um namespace.

Também pode criar espaços de nomes Premium com modelos do Azure Resource Manager.

Suporte a mensagens grandes

Os espaços de nomes do escalão Premium do Azure Service Bus permitem enviar payloads de mensagens grandes até 100 MB. Esse recurso é direcionado principalmente para cargas de trabalho herdadas que usaram cargas úteis de mensagens maiores em outros agentes de mensagens corporativos e estão procurando migrar diretamente para o Barramento de Serviço do Azure.

Aqui estão algumas considerações ao enviar mensagens grandes no Barramento de Serviço do Azure -

  • Com suporte apenas em namespaces de camada premium do Barramento de Serviço do Azure.
  • Suportado apenas ao usar o protocolo AMQP (Advanced Message Queuing Protocol). Não suportado ao usar protocolos SBMP ou HTTP, na camada premium, o tamanho máximo da mensagem para protocolos SBMP e HTTP é de 1 MB.
  • Suportado ao usar o SDK do cliente Java Message Service (JMS) 2.0 e outros SDKs de cliente de linguagem.
  • O envio de mensagens grandes resulta em menor taxa de transferência e latência.
  • Embora haja suporte para cargas úteis de mensagens de 100 MB, recomendamos que você mantenha as cargas úteis de mensagens o menor possível para garantir um desempenho confiável do namespace do Service Bus.
  • O tamanho máximo da mensagem é imposto apenas para mensagens enviadas para a fila ou tópico. O limite de tamanho não é imposto para a operação de recebimento. Ele permite que você atualize o tamanho máximo da mensagem para uma determinada fila (ou tópico).
  • Não há suporte para envio em lotes.

Em 30 de setembro de 2026, desativaremos o suporte ao protocolo SBMP para o Barramento de Serviço do Azure, portanto, você não poderá mais usar esse protocolo após 30 de setembro de 2026. Migre para as bibliotecas mais recentes do SDK do Barramento de Serviço do Azure usando o protocolo AMQP, que oferecem atualizações de segurança críticas e recursos aprimorados, antes dessa data.

Para obter mais informações, consulte o anúncio de aposentadoria de suporte.

Habilitando o suporte a mensagens grandes para uma nova fila (ou tópico)

Para habilitar o suporte para mensagens grandes, defina o tamanho máximo da mensagem ao criar uma nova fila (ou tópico), conforme mostrado na imagem a seguir:

Captura de tela que mostra como habilitar o suporte a mensagens grandes para uma fila existente.

Habilitando o suporte a mensagens grandes para uma fila (ou tópico) existente

Você também pode habilitar o suporte para mensagens grandes para filas (ou tópicos) existentes, atualizando o tamanho máximo da mensagem na Visão geral dessa fila (ou tópico) específico, conforme mostrado na imagem a seguir.

Captura de ecrã da página Criar fila com o suporte de mensagens grandes ativado.

Segurança da rede

Os seguintes recursos de segurança de rede estão disponíveis apenas na camada premium. Para obter detalhes, consulte Segurança de rede.

A configuração do firewall IP usando o portal do Azure está disponível apenas para os namespaces de camada premium. No entanto, você pode configurar regras de firewall IP para outras camadas usando modelos do Azure Resource Manager, CLI, PowerShell ou API REST. Para obter mais informações, consulte Configurar firewall IP.

Encriptação de dados inativos

Todos os dados armazenados no subsistema de armazenamento são criptografados usando chaves gerenciadas pela Microsoft. Se você usar sua própria chave (também conhecida como chave gerenciada pelo cliente), os dados ainda serão criptografados usando a chave gerenciada pela Microsoft, mas, além disso, a chave gerenciada pela Microsoft será criptografada usando a chave gerenciada pelo cliente. Esse recurso permite criar, girar, desabilitar e revogar o acesso a chaves gerenciadas pelo cliente que são usadas para criptografar chaves gerenciadas pela Microsoft. Habilitar o recurso de chave gerenciada pelo cliente é um processo de configuração único em seu namespace. Para obter mais informações, consulte Criptografando dados do Barramento de Serviço do Azure em repouso.

Criação de partições

Existem algumas diferenças entre os níveis padrão e premium quando se trata de particionamento.

  • O particionamento está disponível na criação de entidades para todas as filas e tópicos em SKUs básicas ou padrão. Um namespace pode ter entidades particionadas e não particionadas. O particionamento está disponível na criação de namespace para a camada premium e todas as filas e tópicos nesse namespace são particionados. Todas as entidades particionadas migradas anteriormente em namespaces premium continuam a funcionar conforme o esperado.
  • Quando o particionamento está habilitado nas SKUs Básica ou Padrão, o Service Bus cria 16 partições. Quando o particionamento é habilitado na camada premium, o número de partições é especificado durante a criação do namespace.

Para obter mais informações, consulte Particionamento no Service Bus.

Geo-desastre e recuperação

O Barramento de Serviço do Azure espalha o risco de falhas catastróficas de máquinas individuais ou até mesmo racks completos entre clusters que abrangem vários domínios de falha em um datacenter e implementa mecanismos transparentes de deteção de falhas e failover, de modo que o serviço continue a operar dentro dos níveis de serviço garantidos e, normalmente, sem interrupções percetíveis quando tais falhas ocorrem. Um namespace premium pode ter duas ou mais unidades de mensagens e essas unidades de mensagens estão espalhadas por vários domínios de falha em um datacenter, suportando um modelo de cluster do Service Bus totalmente ativo.

Para um namespace de nível premium, o risco de interrupção é ainda mais espalhado por três zonas de disponibilidade de instalações fisicamente separadas, e o serviço tem reservas de capacidade suficientes para lidar instantaneamente com a perda completa e catastrófica de um datacenter. O modelo de cluster do Barramento de Serviço do Azure totalmente ativo dentro de um domínio de falha, juntamente com o suporte à zona de disponibilidade, é superior a qualquer produto de agente de mensagens local em termos de resiliência contra falhas graves de hardware e até mesmo perda catastrófica de instalações inteiras do datacenter. Ainda assim, pode haver situações graves com destruição física generalizada contra as quais mesmo essas medidas não conseguem se defender suficientemente.

O recurso de recuperação de desastres geográficos (Geo-DR) do Service Bus foi projetado para facilitar a recuperação de um desastre dessa magnitude e abandonar definitivamente uma região do Azure com falha sem precisar alterar as configurações do aplicativo. Abandonar uma região do Azure normalmente envolve vários serviços e esse recurso visa principalmente ajudar a preservar a integridade da configuração do aplicativo composto. O recurso está disponível globalmente para a camada premium do Service Bus.

O recurso Geo-Disaster Recovery garante que toda a configuração de um namespace (entidades, configuração, propriedades) seja replicada continuamente de um namespace primário para um namespace secundário com o qual ele está emparelhado e permite que você inicie uma mudança de failover única do primário para o secundário a qualquer momento. A movimentação de failover reaponta o nome de alias escolhido para o namespace para o namespace secundário e, em seguida, quebra o emparelhamento. O failover é quase instantâneo uma vez iniciado.

Para obter mais informações, consulte Recuperação de desastres geográficos do Barramento de Serviço do Azure.

Georreplicação

O recurso de Replicação Geográfica é 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), enquanto o recurso Geo-DR descrito na seção anterior replica apenas os metadados.

O recurso de replicação geográfica garante que os metadados e os dados de um namespace sejam replicados continuamente de uma região primária para uma ou mais regiões secundárias.

  • Filas, tópicos, assinaturas, filtros.
  • Dados, que residem nas entidades.
  • Todas as alterações de estado e de propriedade executadas nas mensagens dentro de um namespace.
  • Configuração de namespace.

Este recurso permite promover qualquer região secundária para primária, a qualquer momento. A promoção de um secundário reaponta o nome do namespace para a região secundária selecionada e alterna as funções entre a região primária e secundária. A promoção é quase instantânea uma vez iniciada.

Suporte a Java Message Service (JMS)

O nível premium suporta JMS 1.1 e JMS 2.0. Para obter mais informações, consulte Como usar o JMS 2.0 com o Azure Service Bus Premium.

A camada padrão suporta apenas o subconjunto JMS 1.1 focado em filas. Para obter mais informações, consulte Usar o Java Message Service 1.1 com o padrão do Azure Service Bus.

Próximos passos

Consulte o seguinte artigo: Atualizar automaticamente as unidades de mensagens.