Visão Geral da Réplica de Leitura

As réplicas de leitura são cópias somente para leitura da instância principal MySQL do sistema de banco de dados na mesma região. Eles fornecem escalabilidade e maior desempenho para cargas de trabalho com muita leitura. Eles ampliam as leituras, ou seja, reduzem a latência das consultas.

As réplicas de leitura são iniciadas quando um sistema de BD é iniciado, interrompido quando o sistema de BD é interrompido e excluído quando o sistema de BD é excluído. Cada réplica de leitura é atualizada automaticamente usando a replicação assíncrona. Você pode criar réplicas de leitura em um sistema de banco de dados independente ou de alta disponibilidade. Não são suportadas réplicas de leitura em formas que tenham menos de 8 ECPUs ou menos de 4 OCPUs. Se uma réplica de leitura tiver falhado além da recuperação e não puder mais replicar do sistema de banco de dados, a réplica de leitura será definida como o estado Needs Attention. Nesse caso, exclua a réplica de leitura e crie uma nova.

Você pode criar no máximo 18 réplicas de leitura em um sistema de banco de dados. Cada réplica de leitura tem seu próprio ponto final. Por exemplo, se você tiver cinco réplicas de leitura, terá cinco pontos finais, um ponto final para cada réplica de leitura. Se quiser executar um subconjunto de consultas na instância principal e descansar nas réplicas de leitura, configure o aplicativo de forma que ele use pontos finais apropriados.

Você pode estabelecer conexão com uma réplica de leitura de maneira semelhante à que estabelece conexão com um sistema de BD - usando uma instância de computação, uma sessão bastion ou uma VPN. Consulte Conectando-se a um Sistema de Banco de Dados.

As réplicas de leitura podem ficar atrás da instância principal. Isso é medido pela métrica read replica lag. Dependendo da carga de trabalho de cada réplica de leitura, as réplicas de leitura podem exibir um atraso de réplica de leitura diferente. Mesmo se a carga de trabalho for a mesma, as réplicas de leitura podem exibir um atraso de réplica de leitura diferente, dependendo de seus recursos, como CPU e memória. Você pode criar alarmes para monitorar a métrica e notificá-lo quando as métricas atenderem aos acionadores especificados pelo alarme. Consulte Usando Métricas para Criar Alarmes.

Se você alterar as definições de conta e seus privilégios (como a senha) no sistema de banco de dados associado, as alterações serão propagadas para as réplicas de leitura. Você não precisa alterar a senha em cada réplica de leitura.

Não é possível configurar uma réplica de leitura como o servidor de origem de uma replicação de saída; você só pode configurar um sistema de BD como o servidor de origem.

Uma réplica de leitura herda o certificado de segurança do sistema de BD associado. Não é possível atualizar o certificado de segurança da réplica de leitura.

Balanceador de Carga de Réplica de Leitura

Quando você cria a primeira réplica de leitura de um sistema de banco de dados, um balanceador de carga de réplica de leitura é criado automaticamente, o que distribui o tráfego de leitura entre as réplicas de leitura. Todas as réplicas de leitura dos mesmos sistemas de banco de dados são adicionadas como um backend ao balanceador de carga. Se a criação do balanceador de carga de réplica de leitura falhar por algum motivo, a réplica de leitura não será criada. Um balanceador de carga de réplica de leitura só é excluído quando você exclui o sistema de banco de dados associado.

Um balanceador de carga de réplica de leitura tem um endereço IP privado e você não pode acessá-lo diretamente da internet. Você pode estabelecer conexão com o balanceador de carga de réplica de leitura de maneira semelhante à que estabelece conexão com um sistema de BD - usando uma instância de computação, uma sessão bastion ou uma VPN. Consulte Conectando-se a um Sistema de Banco de Dados.

  • Política de Leitura do Balanceador de Carga da Réplica: A política de distribuição de balanceamento de carga do balanceador de carga se baseia em um hash de 5 Tuplas das informações de endereço IP, porta e protocolo IP de origem e destino. Esta política de hash de 5 linhas fornece afinidade de sessão dentro de uma determinada sessão TCP ou UDP, na qual os pacotes na mesma sessão são direcionados ao mesmo servidor de backend por trás do balanceador de carga de rede.
  • Timeout de Conexões Inativas: O balanceador de carga rastreia o estado de todos os fluxos TCP que passam por ele. Uma combinação de protocolo IP e endereços IP e portas de origem e destino definem um fluxo. O fluxo poderá ser removido se nenhum tráfego for recebido do cliente ou do servidor por mais tempo que o timeout de inatividade. Todos os pacotes TCP recebidos após o timeout de inatividade são eliminados. A duração do timeout de inatividade para fluxos TCP é de oito horas. Não é possível alterar a duração do timeout de inatividade. Se a conexão não estiver em uso no momento e você quiser manter a conexão ativa, defina o keep-alive TCP no cliente, que envia os pacotes keep-alive TCP para manter a conexão ativa.
    Observação

    Todos os balanceadores de carga de réplica de leitura criados antes de 10 de outubro de 2023 têm um timeout de inatividade padrão de seis minutos. Se você quiser aumentar o tempo limite de inatividade para oito horas, entre em contato com o Suporte Técnico da Oracle.

Um balanceador de carga de réplica de leitura trata os vários estados da réplica de leitura da seguinte maneira:

  • Falha ou precisa de estado de atenção: Se a réplica de leitura estiver no estado de falha ou precisar de atenção, o balanceador de carga removerá a réplica de leitura do backend.
  • Estado inativo: Se a réplica de leitura estiver no estado inativo, o balanceador de carga não roteará o tráfego para ele.
  • Estado ativo: Se a réplica de leitura estiver no estado ativo, o balanceador de carga roteará o tráfego para ela.

IP Address Requirements

Se um sistema de banco de dados independente tiver 18 réplicas de leitura, a sub-rede na qual o sistema de banco de dados está presente exigirá o seguinte número de endereços IP:

  • Um para o ponto final do sistema de banco de dados. As conexões feitas com esse ponto final podem executar operações de leitura e gravação. As operações de leitura sempre retornam dados atualizados.
  • 18 para os 18 pontos finais de réplica de leitura. As conexões feitas com qualquer um desses pontos finais podem executar operações somente leitura. As operações de leitura podem retornar dados um pouco desatualizados, dependendo do atraso de replicação.
  • Um para o ponto final do balanceador de carga de réplica de leitura. As conexões feitas com esse ponto final são distribuídas entre réplicas de leitura ativas.