Barramento de Serviço e confiabilidade
Intermediação de mensagens empresarial totalmente gerenciada com filas de mensagens e tópicos de publicação/assinatura utilizado no Barramento de Serviço do Azure. Esse serviço armazena mensagens de maneira confiável em um agente (por exemplo, uma fila) até que a parte consumidora esteja pronta para recebê-las.
Os benefícios incluem:
- Balanceamento da carga entre funções de trabalho concorrentes.
- Roteamento e transferência de dados e do controle, com segurança, entre limites de serviços e aplicativos.
- Coordenação do trabalho transacional que requer um alto grau de confiabilidade.
Para obter mais informações sobre como usar o Barramento de Serviço, consulte o Messaging do Barramento de Serviço do Azure. Saiba como configurar mensagens que se conectam a aplicativos e serviços entre ambientes de nuvem e locais.
Para entender como o Barramento de Serviço contribui para a manutenção de uma carga de trabalho confiável, consulte os seguintes tópicos:
- Padrões de mensagens assíncronas e alta disponibilidade
- Recuperação de desastre em área geográfica do Barramento de Serviço do Azure
- Tratando interrupções e desastres
As seguintes seções são específicas para o Barramento de Serviço do Azure e confiabilidade:
- Considerações sobre o design
- Lista de verificação da configuração
- Opções de configuração recomendadas
- Artefatos de origem
Considerações sobre o design
Maximize a confiabilidade com um SLA de tempo de atividade do Barramento de Serviço do Azure. Os aplicativos configurados corretamente podem enviar ou receber mensagens ou realizar outras operações em uma Fila ou Tópico implantado. Para obter mais informações, consulte o SLA do Barramento de Serviço.
Outras considerações de design incluem:
Além da documentação em Camadas de sistema de mensagens Premium e Standard do Barramento de Serviço, os seguintes recursos estão disponíveis apenas na SKU (unidade de manutenção de estoque) Premium:
- Recursos dedicados.
- Integração da rede virtual: limita as redes que podem se conectar à instância do Barramento de Serviço. Requer a habilitação dos pontos de extremidade de serviço na sub-rede. Alguns serviços confiáveis da Microsoft não têm suporte ao implementar Redes Virtuais (por exemplo, integração com a Grade de Eventos). Para obter mais informações, consulte Permitir acesso ao namespace do Barramento de Serviço do Azure de redes virtuais específicas.
- Pontos de extremidade privados.
-
Filtragem de IP/Firewall: restrinja conexões a apenas endereços ou
IPv4
intervalos de endereços definidosIPv4
. - Zonas de disponibilidade: fornecem disponibilidade avançada ao difundir réplicas nas zonas de disponibilidade de uma região sem custo adicional.
- Integração da Grade de Eventos: tipos de evento disponíveis.
- Dimensionar unidades de mensagens.
- Recuperação de desastre geográfico (namespace emparelhado).
- CMK (Chave Gerenciada pelo Cliente): Barramento de Serviço do Azure criptografa dados inativos e os descriptografa automaticamente quando acessados, mas os clientes também podem trazer sua própria chave gerenciada pelo cliente.
Ao implantar o Barramento de Serviço com recuperação de desastre geográfico e em zonas de disponibilidade, a SLO (operação de nível de serviço) aumenta drasticamente, mas não altera o SLA de tempo de atividade.
Lista de verificação
Você configurou o Barramento de Serviço do Azure levando a confiabilidade em consideração?
- Avalie os benefícios da camada Premium de Barramento de Serviço do Azure.
- Verifique se as Exceções de mensagens do Barramento de Serviço são identificadas corretamente.
- Conecte ao Barramento de Serviço com o AMQP (Advanced Message Queuing Protocol) e use pontos de extremidade de serviço ou pontos de extremidade privados, quando possível.
- Revise as Práticas recomendadas para melhorias de desempenho usando o Sistema de Mensagens do Barramento de Serviço.
- Implemente a replicação geográfica no lado do remetente e do destinatário para proteção contra interrupções e desastres.
- Configure o desastre geográfico.
- Se o sistema de mensagens crítico com filas e tópicos for necessário, o Barramento de Serviço Premium é recomendado com a Recuperação de Desastre Geográfico.
- Configure a redundância de zona no namespace do Barramento de Serviço (disponível somente na camada Premium).
- Implemente a alta disponibilidade no namespace do Barramento de Serviço.
- Verifique se as mensagens relacionadas são entregues na ordem garantida.
- Avalie os recursos diferentes do JMS (Serviço de Mensagens Java) através da API do JMS.
- Use pacotes Nuget do .NET para se comunicar com as entidades de mensagens do Barramento de Serviço.
- Implemente resiliência para tratamento de falhas transitórias ao enviar ou receber mensagens.
- Implementar o dimensionamento automático de unidades de mensagens.
Recomendações de configuração
Considere as seguintes recomendações para otimizar a confiabilidade ao configurar o Barramento de Serviço do Azure:
Recomendação | Descrição |
---|---|
Avalie os benefícios da camada Premium de Barramento de Serviço do Azure. | Considere a migração para a camada Premium do Barramento de Serviço para aproveitar a interrupção com suporte da plataforma e a proteção contra desastres. |
Conecte ao Barramento de Serviço com o protocolo AMQP e use pontos de extremidade de serviço ou pontos de extremidade privados, quando possível. | Essa recomendação mantém o tráfego no backbone do Azure.
Observação: o protocolo de conexão padrão para os namespaces Microsoft.Azure.ServiceBus e Windows.Azure.ServiceBus é AMQP . |
Implemente a replicação geográfica no lado do remetente e do destinatário para proteção contra interrupções e desastres. | A camada Standard dá suporte apenas à implementação de redundância geográfica do lado do remetente e do destinatário. Uma interrupção ou um desastre em uma região do Azure pode causar tempo de inatividade para sua solução. |
Configure o desastre geográfico. |
-
Ativo/Ativo - Ativo/Passivo - Namespace emparelhado (Ativo/Passivo) - Observação: a região secundária deve ser, preferencialmente, uma região emparelhada do Azure. |
Se o sistema de mensagens crítico com filas e tópicos for necessário, o Barramento de Serviço Premium é recomendado com a Recuperação de Desastre Geográfico. | A escolha do padrão depende dos requisitos de negócios e do RTO (objetivo de tempo de recuperação). |
Configure a redundância de zona no namespace do Barramento de Serviço (disponível somente na camada Premium). | A redundância de zona inclui três cópias do repositório de mensagens. Uma zona é alocada como o repositório primário de mensagens e as outras zonas são alocadas como secundárias. Se a zona primária ficar indisponível, uma secundária será promovida a primário sem tempo de inatividade perceptível. As Zonas de Disponibilidade estão disponíveis em um subconjunto de regiões do Azure com novas regiões adicionadas regularmente. |
Implemente a alta disponibilidade no namespace do Barramento de Serviço. | A camada Premium dá suporte à Recuperação de desastre geográfico e à Replicação no nível do namespace. Nesse nível, a camada Premium fornece alta disponibilidade para recuperação de desastre de metadados usando namespaces de recuperação de desastre primários e secundários. |
Verifique se as mensagens relacionadas são entregues na ordem garantida. | Lembre-se da necessidade de definir uma Chave de Partição, ID da Sessão ou ID da Mensagem em cada mensagem para garantir que as mensagens relacionadas sejam enviadas para a mesma partição na entidade de mensagens. |
Avalie diferentes recursos do JMS através da API do JMS. | Os recursos disponíveis através da API do JMS 2.0 (e seu SDK (Software Development Kit)) não são os mesmos que os recursos disponíveis pelo SDK nativo. Por exemplo, as Sessões do Barramento de Serviço não estão disponíveis no JMS. |
Implemente resiliência para tratamento de falhas transitórias ao enviar ou receber mensagens. | É fundamental implementar o tratamento adequado de falhas transitórias e de erros para operações de envio e recebimento, para manter a taxa de transferência e evitar a perda de mensagens. |
Implemente o dimensionamento automático de unidades de mensagens para garantir que você tenha recursos suficientes disponíveis para suas cargas de trabalho. |
Artefatos de origem
Para identificar as Instâncias do Barramento de Serviço Premium que não estão usando pontos de extremidade privados, use a consulta abaixo:
Resources | where type == 'microsoft.servicebus/namespaces' | where sku.tier == 'Premium' and isempty(properties.privateEndpointConnections)
Para identificar as Instâncias do Barramento de Serviço que não estão na camada Premium, use a consulta abaixo:
Resources | where type == 'microsoft.servicebus/namespaces' | where sku.tier != 'Premium'
Para identificar as instâncias do Barramento de Serviço Premium que não têm redundância de zona, use a consulta abaixo:
Resources | where type == 'microsoft.servicebus/namespaces' | where sku.tier == 'Premium' and properties.zoneRedundant == 'false'