Replicação geográfica no Azure Web PubSub
Os aplicativos de missão crítica geralmente precisam ter um sistema de failover robusto e atender os usuários mais perto de onde eles estão. Antes do lançamento do recurso de replicação geográfica, os desenvolvedores precisavam implantar vários recursos Web PubSub e escrever código personalizado para orquestrar a comunicação entre recursos. Agora, com a configuração rápida por meio do portal do Azure, você pode habilitar facilmente esse recurso.
Benefícios do uso da replicação geográfica
- Mais resiliente à interrupção regional: se ocorrer uma interrupção regional, os clientes serão automaticamente encaminhados para uma réplica íntegra.
- Comunicação entre regiões: os desenvolvedores usam um recurso habilitado para replicação geográfica como de costume, mesmo que nos bastidores haja mais de um recurso. A comunicação entre réplicas é tratada pelo serviço.
- Velocidade de rede aprimorada: clientes geograficamente dispersos se conectarão à réplica mais próxima. Essas réplicas se comunicam por meio do backbone de rede global do Azure, garantindo uma rede rápida e estável.
- Facilidade de gestão. Todas as réplicas compartilham a configuração do recurso Web PubSub principal.
Pré-requisitos
- Um recurso Web PubSub na camada premium.
Exemplo de caso de uso
Contoso, uma empresa de mídia social
A Contoso é uma empresa de mídia social com sua base de clientes espalhada pelos EUA e Canadá. A Contoso fornece um aplicativo móvel e Web para seus usuários para que eles possam se conectar uns com os outros. O aplicativo Contoso é implantado na região central dos EUA. Como parte da arquitetura da Contoso, o Web PubSub é usado para estabelecer conexões WebSocket persistentes entre aplicativos cliente e o servidor de aplicativos. A Contoso gosta de poder descarregar o gerenciamento de conexões WebSocket para o Web PubSub, mas não gosta de ler relatórios de usuários no Canadá com latência mais alta. Além disso, a equipe de desenvolvimento da Contoso quer proteger o aplicativo contra interrupções regionais para que os usuários possam acessar o aplicativo sem interrupções.
A Contoso poderia configurar outro recurso Web PubSub no Canada Central que esteja geograficamente mais próximo de seus usuários no Canadá. No entanto, gerenciar vários recursos do Web PubSub traz alguns desafios:
- Seria necessário implementar um mecanismo de comunicação inter-regional para que os utilizadores no Canadá e nos EUA possam interagir entre si.
- A equipe de desenvolvimento precisaria gerenciar dois recursos Web PubSub separados, cada um com domínio e cadeia de conexão distintos.
- Se ocorrer uma interrupção regional, o tráfego precisa ser direcionado para um recurso disponível.
Tudo isso tira recursos de engenharia do foco na inovação de produtos.
Aproveitando o recurso de replicação geográfica
Com o recurso de replicação geográfica, a Contoso agora pode estabelecer uma réplica no Canada Central, superando efetivamente os desafios acima mencionados. A equipe de desenvolvedores fica feliz em descobrir que eles não precisam fazer nenhuma alteração de código. É tão fácil como clicar em alguns botões no portal do Azure. A equipe de desenvolvedores também está feliz em compartilhar com as partes interessadas que, como a Contoso planeja entrar no mercado europeu, eles simplesmente precisam adicionar outra réplica na Europa.
Como habilitar a replicação geográfica em um recurso Web PubSub
Para criar uma réplica em uma região do Azure, vá para seu recurso Web PubSub e localize a folha Réplicas no portal do Azure e clique em Adicionar para criar uma réplica.
Após a criação, você poderá visualizar/editar sua réplica no portal clicando no nome da réplica.
Nota
- Atualmente, a contagem de réplicas está limitada a um máximo de 8 por recurso primário.
Preços e unidade de recursos
Cada réplica tem o seu próprio unit
e autoscale settings
.
A réplica é um recurso da camada Premium do Serviço Web PubSub do Azure. Cada réplica é cobrada separadamente de acordo com sua própria unidade e tráfego de saída. A cota de mensagens gratuitas também é calculada separadamente.
No exemplo anterior, a Contoso adicionou uma réplica no Canada Central. A Contoso pagaria pela réplica na Canada Central de acordo com sua unidade e mensagem em Preço Premium.
Haverá taxas de saída para o tráfego de saída entre regiões. Se uma mensagem for transferida entre réplicas e enviada com êxito para um cliente ou servidor após a transferência, ela será cobrada como uma mensagem de saída.
Eliminar réplicas
Depois de criar uma réplica para um recurso Web PubSub, você pode excluí-la a qualquer momento se não for mais necessária.
Para excluir uma réplica no portal do Azure:
- Navegue até o recurso Web PubSub e selecione a folha Réplicas . Clique na réplica que deseja excluir.
- Clique no botão Excluir na folha de visão geral da réplica.
Para excluir uma réplica usando a CLI do Azure:
az webpubsub replica delete --replica-name MyReplica --name MyWebPubSub -g MyResourceGroup
Compreender como funciona o recurso de replicação geográfica
- O cliente resolve o FQDN (nome de domínio totalmente qualificado)
contoso.webpubsub.azure.com
do serviço Web PubSub. Esse FQDN aponta para um Gerenciador de Tráfego, que retorna o Nome Canônico (CNAME) da instância regional mais próxima do Web PubSub. - Com esse CNAME, o cliente estabelece uma conexão websocket com a instância regional (réplica).
- As duas réplicas sincronizarão os dados entre si. As mensagens enviadas para uma réplica seriam transferidas para outras réplicas, se necessário.
- Caso uma réplica falhe na verificação de integridade conduzida pelo Gerenciador de Tráfego (TM), a TM excluirá o ponto de extremidade da instância com falha dos resultados da resolução de domínio. Para obter detalhes, consulte abaixo Resiliência e recuperação de desastres
Nota
- No plano de dados, um recurso primário do Azure Web PubSub funciona de forma idêntica às suas réplicas
Resiliência e recuperação após desastre
O Serviço Azure Web PubSub utiliza um gerenciador de tráfego para verificações de integridade e resolução de DNS para suas réplicas. Em circunstâncias normais, quando todas as réplicas estiverem funcionando corretamente, os clientes serão direcionados para a réplica mais próxima. Por exemplo:
- Os clientes próximos
eastus
serão direcionados para a réplica localizada emeastus
. - Da mesma forma, os clientes próximos serão
westus
direcionados para a réplica emwestus
.
No caso de uma interrupção regional em Eastus (ilustrado abaixo), o gerente de tráfego detetará a falha na verificação de integridade para essa região. Em seguida, o DNS dessa réplica defeituosa será excluído dos resultados da resolução DNS do gerenciador de tráfego. Após uma duração de tempo de vida (TTL) do DNS, que é definida como 90 segundos, os clientes em eastus
serão redirecionados para se conectar com a réplica no westus
.
Assim que o problema for eastus
resolvido e a região estiver novamente online, a verificação de integridade será bem-sucedida. Os clientes serão eastus
, então, mais uma vez, direcionados para a réplica em sua região. Essa transição é suave, pois os clientes conectados não serão afetados até que essas conexões existentes sejam fechadas.
Esse processo de failover e recuperação é automático e não requer intervenção manual.
Desabilitar ou habilitar o ponto de extremidade de réplica
Ao configurar uma réplica, você tem a opção de habilitar ou desabilitar seu ponto de extremidade. Se estiver desabilitada, a resolução DNS do FQDN principal não incluirá a réplica e, portanto, o tráfego não será direcionado para ela.
Você também pode ativar a desativação do ponto de extremidade depois que ele for criado. Na folha de réplicas do recurso primário, clique no botão de reticências no lado direito da réplica e escolha Habilitar ponto de extremidade ou Desabilitar ponto de extremidade:
Antes de excluir uma replicação, considere desativar seu ponto de extremidade primeiro. Com o tempo, as conexões existentes serão desconectadas. Como não há novas conexões chegando, a replicação fica ociosa finalmente. Isso garante um processo de exclusão contínuo.
Esse recurso também é útil para solucionar problemas regionais.
Nota
- Devido ao cache DNS, pode levar vários minutos para que a atualização de DNS entre em vigor.
- As conexões existentes permanecem inalteradas até que se desconectem.
Impacto no desempenho após a habilitação do recurso de replicação geográfica
Depois que as réplicas forem habilitadas, os clientes distribuirão naturalmente com base em suas localizações geográficas. Embora o Web PubSub assuma a responsabilidade de sincronizar dados entre essas réplicas, você ficará satisfeito em saber que a sobrecarga associada na Carga do Servidor é mínima para os casos de uso mais comuns.
Especificamente, se seu aplicativo normalmente transmite para grupos maiores (tamanho >10) ou uma única conexão, o impacto na sincronização no desempenho é quase impercetível. Se você estiver trocando mensagens em pequenos grupos (tamanho < 10), poderá notar um pouco mais de sobrecarga de sincronização.
Para garantir um gerenciamento de failover eficaz, é recomendável definir o tamanho da unidade de cada réplica para lidar com todo o tráfego. Como alternativa, você pode habilitar o dimensionamento automático para gerenciar isso.
Para obter mais avaliações de desempenho, consulte Desempenho.
Configurações não herdadas e herdadas
As réplicas herdam a maioria das configurações do recurso principal; no entanto, algumas configurações devem ser definidas diretamente nas réplicas. Abaixo está a lista dessas configurações:
- SKU: Cada réplica tem seu próprio nome de SKU e tamanho de unidade. As regras de dimensionamento automático para réplicas devem ser configuradas separadamente com base em suas métricas individuais.
- Pontos de extremidade privados compartilhados: enquanto os pontos de extremidade privados compartilhados são replicados automaticamente para réplicas, aprovações separadas são necessárias nos recursos de link privado de destino. Para adicionar ou remover pontos de extremidade privados compartilhados, gerencie-os no recurso principal. Não habilite a réplica até que seu ponto de extremidade privado compartilhado tenha sido aprovado.
- Configurações de destino do log. Se não estiver configurado nas réplicas, somente os logs do recurso principal serão transferidos.
- Alertas.
Todas as outras configurações são herdadas do recurso primário. Por exemplo, chaves de acesso, identidade, firewall de aplicativos, domínios personalizados, pontos de extremidade privados e controle de acesso.