Habilitar a replicação geográfica
Este artigo aborda o recurso de replicação de armazenamentos de Configuração de Aplicativos do Azure. Você aprende a criar, a usar e a excluir uma réplica no seu repositório de configuração.
Para saber mais sobre o conceito de replicação geográfica, consulte a replicação geográfica em Configuração de Aplicativos do Azure.
Pré-requisitos
- Uma assinatura do Azure – crie uma gratuitamente
- Presumimos que você já tenha um repositório da Configuração de Aplicativos. Se você quiser criar um, siga as etapas em Criar um repositório da Configuração de Aplicativos.
Criar e listar uma réplica
Para criar uma réplica do repositório de configuração no portal, siga as etapas abaixo.
Observação
Não há suporte para a criação de um réplica para um repositório da Configuração de Aplicativos com pontos de extremidade privados configurados com IP estático. Se você preferir um ponto de extremidade privado com a configuração de IP estático, as réplicas deverão ser criadas antes que qualquer ponto de extremidade privado seja adicionado a um armazenamento.
No repositório da Configuração de Aplicativos, em Configurações, selecione Replicação geográfica.
Em Réplicas, selecione Criar. Escolha o local da nova réplica na lista suspensa e atribua um nome à réplica. Esse nome deve ser exclusivo.
Selecione Criar.
Agora você deve ver sua nova réplica listada em Réplicas. Verifique se o status da réplica é "Êxito", o que indica que ela foi criada com êxito.
Excluir uma réplica
Para excluir uma réplica no portal, siga as etapas abaixo.
No repositório da Configuração de Aplicativos, em Configurações, selecione Replicação geográfica.
Em Réplicas, selecione o ... à direita da réplica que você deseja excluir. Selecione Excluir no menu suspenso.
Verifique o nome da réplica a ser excluída e selecione OK para confirmar.
Depois que o processo for concluído, verifique que na lista de réplicas a réplica correta foi excluída.
Descoberta automática de réplicas
Os provedores da Configuração de Aplicativos podem descobrir automaticamente qualquer réplica adicional de um determinado ponto de extremidade da Configuração de Aplicativos e tentar se conectar a elas. Esse recurso permite que você se beneficie da replicação geográfica sem precisar alterar o código ou reimplantar o aplicativo. Isso significa que você poderá habilitar a replicação geográfica ou adicionar réplicas extras mesmo depois que o seu aplicativo tiver sido implantado.
A descoberta automática de réplica é habilitada por padrão, mas você pode consultar o código de exemplo a seguir para desabilitá-la (não recomendado).
Edite a chamada para o método AddAzureAppConfiguration
, que geralmente é encontrado no arquivo program.cs
do aplicativo.
configurationBuilder.AddAzureAppConfiguration(options =>
{
// Disable automatic replica discovery
options.ReplicaDiscoveryEnabled = false;
// Other changes to options
});
Observação
O suporte à descoberta automática de réplicas estará disponível se você usar a versão 7.1.0 ou posterior de um dos pacotes a seguir.
Microsoft.Extensions.Configuration.AzureAppConfiguration
Microsoft.Azure.AppConfiguration.AspNetCore
Microsoft.Azure.AppConfiguration.Functions.Worker
Escala e failover com réplicas
Cada réplica criada tem o respectivo ponto de extremidade dedicado. Se o seu aplicativo estiver em várias localizações geográficas, atualize cada implantação do aplicativo em uma localização para se conectar à réplica mais próxima dela, o que ajuda a minimizar a latência de rede entre o aplicativo e a Configuração de Aplicativos. Como cada réplica tem uma cota de solicitação separada, essa configuração também ajuda na escalabilidade do aplicativo enquanto ele cresce para um serviço distribuído de várias regiões.
Quando a replicação geográfica estiver habilitada e se uma réplica não estiver acessível, você poderá permitir que o seu aplicativo faça failover para outra réplica para melhorar a resiliência. Os provedores da Configuração de Aplicativos têm suporte de failover interno por meio de réplicas fornecidas pelo usuário e/ou réplicas adicionais descobertas automaticamente. Você pode fornecer uma lista dos pontos de extremidade de réplica na ordem dos mais preferenciais para o ponto de extremidade menos preferencial. Quando o ponto de extremidade atual não estiver acessível, o provedor fará failover para um ponto de extremidade menos preferencial, mas tentará se conectar aos pontos de extremidade mais preferenciais de tempos em tempos. Se todas as réplicas fornecidas pelo usuário não estiverem acessíveis, as réplicas descobertas automaticamente serão selecionadas e usadas aleatoriamente. Quando um ponto de extremidade mais preferencial estiver disponível, o provedor alternará para ele para solicitações futuras.
Supondo que você tenha um aplicativo usando a Configuração de Aplicativos do Azure, você pode atualizá-lo como o código de exemplo a seguir para aproveitar o recurso de failover. Forneça uma lista de pontos de extremidade para a autenticação do Microsoft Entra ou uma lista de cadeias de conexão para autenticação baseada em chave de acesso.
Edite a chamada para o método AddAzureAppConfiguration
, que geralmente é encontrado no arquivo program.cs
do aplicativo.
Conectar ao Microsoft Entra ID
configurationBuilder.AddAzureAppConfiguration(options =>
{
// Provide an ordered list of replica endpoints
var endpoints = new Uri[] {
new Uri("<first-replica-endpoint>"),
new Uri("<second-replica-endpoint>") };
// Connect to replica endpoints using Microsoft Entra authentication
options.Connect(endpoints, new DefaultAzureCredential());
// Other changes to options
});
Conexão com uma Cadeia de Conexão
configurationBuilder.AddAzureAppConfiguration(options =>
{
// Provide an ordered list of replica connection strings
var connectionStrings = new string[] {
Environment.GetEnvironmentVariable("FIRST_REPLICA_CONNECTION_STRING"),
Environment.GetEnvironmentVariable("SECOND_REPLICA_CONNECTION_STRING") };
// Connect to replica endpoints using connection strings
options.Connect(connectionStrings);
// Other changes to options
});
Observação
O suporte ao failover estará disponível se você usar a versão 6.0.0 ou posteriores de qualquer um dos pacotes a seguir.
Microsoft.Extensions.Configuration.AzureAppConfiguration
Microsoft.Azure.AppConfiguration.AspNetCore
Microsoft.Azure.AppConfiguration.Functions.Worker
O failover poderá ocorrer se o provedor da Configuração de Aplicativos observar as condições a seguir.
- Recebe respostas com status de serviço indisponível (código de status HTTP 500 ou superior).
- Experiências com problemas de conectividade de rede.
- As solicitações são limitadas (código de status HTTP 429).
O failover não ocorrerá para erros do cliente, como falhas de autenticação.
Balanceamento de carga com réplicas
Por padrão, o seu aplicativo sempre envia solicitações para o ponto de extremidade mais preferencial fornecido por você, exceto no caso de um failover. No entanto, além do failover, as réplicas também podem ser usadas para equilibrar a carga de solicitações. Distribuindo proativamente solicitações em todas as réplicas disponíveis ao longo do tempo, você pode evitar esgotar a cota de solicitação de uma única réplica e melhorar a escalabilidade geral do aplicativo.
Os provedores da Configuração de Aplicativos oferecem suporte interno para balanceamento de carga entre réplicas, seja fornecido no código ou descoberto automaticamente. Você pode usar os exemplos de código a seguir para habilitar este recurso em seu aplicativo (recomendado).
Edite a chamada para o método AddAzureAppConfiguration
, que geralmente é encontrado no arquivo program.cs
do aplicativo.
configurationBuilder.AddAzureAppConfiguration(options =>
{
// Enable load balancing
options.LoadBalancingEnabled = true;
// Other changes to options
});
Observação
O suporte para balanceamento de carga estará disponível se você usar a versão 8.0.0-preview.3 ou posterior de qualquer um dos pacotes a seguir.
Microsoft.Extensions.Configuration.AzureAppConfiguration
Microsoft.Azure.AppConfiguration.AspNetCore
Microsoft.Azure.AppConfiguration.Functions.Worker