Para lidar com alta concorrência de leitura e melhorar o throughput geral do sistema, crie uma instância somente leitura para implementar a divisão de leitura e gravação de forma eficiente. Uma instância somente leitura é uma réplica completa da instância primária. Qualquer alteração de dados na instância primária é sincronizada automaticamente com todas as instâncias somente leitura associadas. Isso descarrega o trabalho de leitura da instância primária e garante que os dados nas instâncias somente leitura permaneçam consistentes com a instância primária.
Para criar instâncias somente leitura para outros mecanismos de banco de dados, consulte os seguintes tópicos:
Pré-requisitos
A instância primária do RDS for MySQL deve atender às seguintes condições:
A instância RDS executa MySQL 8.0, MySQL 5.7 ou MySQL 5.6.
A instância RDS utiliza o método de faturamento por assinatura ou pagamento conforme o uso. Instâncias RDS Serverless não suportam instâncias RDS somente leitura.
A instância RDS executa o ApsaraDB RDS High-availability Edition.
Acesse a página Basic Information da sua instância RDS para obter as informações anteriores.
É possível criar instâncias RDS somente leitura que executam o ApsaraDB RDS High-availability Edition ou o ApsaraDB RDS Basic Edition. Uma instância RDS somente leitura que executa o ApsaraDB RDS High-availability Edition inclui uma instância primária e uma secundária que operam em modo HA. Para mais informações, consulte ApsaraDB RDS High-availability Edition.
Observações de uso
Crie uma instância somente leitura apenas a partir de uma instância primária. Não é possível converter uma instância existente em uma instância somente leitura.
A criação de uma instância somente leitura não afeta a instância primária, pois os dados são replicados a partir do nó secundário da instância primária.
Se a instância primária for liberada, as instâncias somente leitura por Assinatura serão reembolsadas e liberadas automaticamente, enquanto as instâncias somente leitura por Pagamento Conforme o Uso serão liberadas imediatamente.
Uma instância somente leitura não herda as configurações de parâmetros da instância primária. A instância somente leitura é criada com valores padrão de parâmetros, que podem ser modificados posteriormente no console da instância.
O tipo de armazenamento da instância somente leitura deve ser igual ao da instância primária.
Os backups são realizados na instância primária. Portanto, uma instância somente leitura suporta apenas políticas de retenção de log local. Não é possível configurar políticas de backup automático ou iniciar backups manuais para uma instância somente leitura.
-
Espaço de armazenamento:
Instâncias baseadas em disco em nuvem: O espaço de armazenamento de uma instância somente leitura não pode ser menor que o da instância primária. Se a memória da instância primária for maior que a da instância somente leitura, alterar as especificações da instância primária reiniciará a instância somente leitura.
Instâncias baseadas em disco local: O espaço de armazenamento de uma instância somente leitura não pode ser menor que o da instância primária.
O limite máximo é de 10 instâncias somente leitura.
Método de faturamento: Assinatura ou Pagamento Conforme o Uso. Para detalhes de preços, consulte Tipos de instância somente leitura.
As VPCs disponíveis para seleção durante a criação de uma instância somente leitura estão sujeitas a limitações.
Procedimento
Acesse a página Instances. Na barra de navegação superior, selecione a região onde a instância RDS reside. Em seguida, localize a instância RDS e clique em
IDda instância.-
Na página Basic Information, na seção Instance Distribution, clique em Add à direita de Read-only Instance.
NotaSe o botão Add não for exibido, verifique se a instância atende aos pré-requisitos.
-
Configure os recursos básicos para a instância somente leitura.
Parâmetro
Descrição
Billing Method
-
Subscription : Pagamento antecipado pelos recursos. Este método de faturamento é ideal para uso de longo prazo e mais econômico que o Pagamento Conforme o Uso. Quanto maior o período de assinatura, maior o desconto.
-
Pay-As-You-Go: Cobrança horária pelos recursos. Adequado para uso de curto prazo, permitindo liberar a instância a qualquer momento para economizar custos.
Edition
-
Basic Edition: Instância somente leitura econômica e de nó único, ideal para aprendizado ou testes. A recuperação de falhas ou reinicialização é lenta.
NotaEsta opção está disponível apenas quando o tipo de armazenamento da instância primária é disco em nuvem.
-
High-availability Edition (Padrão): Garante alta disponibilidade com um nó primário e um secundário. Recomendado para ambientes de produção.
NotaAo selecionar o High-availability Edition, também é necessário configurar a zona do nó primário, o método de implantação (implantação em várias zonas ou em zona única) e a zona do nó secundário.
Product Type
A edição Yitian só pode ser selecionada se o Storage Type da instância primária for Enhanced SSD, .
Para mais informações sobre as edições Standard Edition e YiTian, consulte Tipos de produto.
Zone
Este parâmetro aplica-se apenas a instâncias somente leitura do Basic Edition. Uma zona é uma área física independente dentro de uma região. Uma instância do Basic Edition é uma instância de nó único e usa implantação em zona única por padrão.
-
Zone of Primary Node
-
Deployment Method
-
Zone of Secondary Node
Este parâmetro aplica-se apenas a instâncias somente leitura do High-availability Edition. Uma zona é uma área física independente dentro de uma região. Para uma instância do High-availability Edition, também é necessário selecionar um método de implantação:
-
Single-zone Deployment: Os nós primário e secundário ficam na mesma zona. É necessário especificar apenas a zona do nó primário.
-
Multi-zone Deployment: Os nós primário e secundário ficam em zonas diferentes. Este método oferece recuperação de desastres entre zonas sem custo adicional. É necessário especificar as zonas dos nós primário e secundário.
Instance Type
-
General-purpose: Uma instância de uso geral possui recursos dedicados de memória e I/O, mas compartilha CPU e armazenamento com outras instâncias no mesmo servidor.
-
Dedicated: Uma instância de tipo dedicado utiliza exclusivamente seus recursos alocados de CPU, memória, armazenamento e I/O. Uma instância de tipo exclusivo utiliza todos os recursos de CPU, memória, armazenamento e I/O do servidor host de forma exclusiva.
NotaCada tipo de instância possui um número específico de núcleos de CPU, capacidade de memória, número máximo de conexões e IOPS máximo.
Database Proxy
Se o proxy de banco de dados não estiver ativado na instância primária, ative o proxy de banco de dados gratuito de uso geral ao criar uma instância somente leitura. O sistema implanta automaticamente o proxy com base nas especificações recomendadas e ativa o recurso de proxy de banco de dados para a instância primária. Um proxy de banco de dados fornece recursos avançados, como divisão de leitura e gravação, pool de conexões, divisão de transações, conexões persistentes e criptografia Secure Sockets Layer (SSL). Após ativar o proxy de banco de dados, altere o tipo e as especificações do proxy ou desative manualmente o proxy de banco de dados conforme suas necessidades comerciais.
Nota-
Se o proxy de banco de dados estiver ativado na instância primária, o recurso será habilitado por padrão na instância somente leitura. Não é necessária ativação manual.
-
Também é possível ativar o proxy de banco de dados após a criação da instância somente leitura.
Capacity
O espaço de armazenamento inclui espaço para dados, arquivos de sistema, arquivos de log e arquivos de transação. O incremento mínimo para ajuste do espaço de armazenamento é de 5 GB.
NotaO espaço de armazenamento de uma instância somente leitura deve ser maior ou igual ao da instância primária.
-
-
Clique em Next: Instance Configuration e configure outros parâmetros da instância.
Parâmetro
Descrição
VPC
Por padrão, a instância somente leitura utiliza a mesma VPC da instância primária. Este parâmetro não é configurável.
VSwitch of Primary Node
Selecione um vSwitch para o nó primário ou utilize o padrão.
VSwitch of Secondary Node
Um vSwitch é alocado automaticamente para o nó secundário. Este parâmetro não é configurável.
Port
O padrão é a porta 3306. É possível alterar este valor.
Release Protection
Aplica-se apenas a instâncias Pay-As-You-Go. Ative a proteção contra liberação para evitar a liberação acidental de uma instância Pay-As-You-Go.
Resource Group
Por padrão, a instância somente leitura pertence ao mesmo grupo de recursos da instância primária. Este parâmetro não é configurável.
Instance Name
Opcional. Especifique um nome personalizado para facilitar a identificação da instância.
Tags
Caso possua muitas instâncias, adicione tags para fins de categorização e gerenciamento. Este parâmetro é opcional.
-
Clique em Next: Confirm Order, confirme a Parameter Configuration, selecione Quantity e Duration (apenas para instâncias por Assinatura) e, em seguida, clique em Pay Now para concluir o pagamento.
NotaSe a instância primária for uma instância por Assinatura, marque a caixa de seleção Consistent with Primary Instance ao lado de Duration ao adquirir uma instância somente leitura por Assinatura. Isso alinha o ciclo de vida da instância somente leitura ao da instância primária.
Se a instância primária for por Assinatura e você alterar o método de faturamento de uma instância somente leitura de Pagamento Conforme o Uso para Assinatura, não será possível selecionar Consistent with Primary Instance para Duration. Esta configuração está disponível apenas para instâncias somente leitura recém-adquiridas. Para usar essa opção de alinhamento, recomendamos liberar a instância somente leitura Pay-As-You-Go e adquirir uma nova por Assinatura.
Para instâncias por Assinatura, recomendamos selecionar Auto-renewal. Isso evita interrupções de serviço por pagamentos atrasados e elimina a necessidade de renovação manual.
Visualizar a instância somente leitura e seu endpoint
Faça login no console do ApsaraDB RDS. No painel de navegação à esquerda, clique em Instances. Na barra de navegação superior, selecione uma região.
-
Na lista de instâncias, localize a instância primária e clique na seta à esquerda do ID da instância para visualizar as instâncias somente leitura associadas a ela.

Também é possível clicar no ID da instância primária para acessar sua página de detalhes. As instâncias somente leitura são exibidas na seção .

Visualize o endpoint da instância somente leitura: Cada instância somente leitura possui um endpoint dedicado. Para obter o endpoint, clique no ID da instância somente leitura para acessar sua página de detalhes. Em seguida, na seção , clique em View Details.

Atraso de replicação
Pode ocorrer um atraso de replicação quando uma instância somente leitura sincroniza dados da instância primária. Visualize o atraso na página Basic Information da instância somente leitura. Para informações sobre as causas comuns e soluções para atrasos de replicação, consulte Causas e soluções para a latência de replicação de uma instância somente leitura do ApsaraDB RDS for MySQL.
Configurar divisão de leitura e gravação
Após adicionar uma instância somente leitura, configure manualmente a divisão de leitura e gravação na sua aplicação ou ative o recurso de proxy de banco de dados para lidar automaticamente com a divisão. Para mais informações, consulte O que é um proxy de banco de dados?, O que é divisão de leitura e gravação? e Ativar o recurso de proxy de banco de dados.
Os recursos de proxy de banco de dados de uso geral e conexão persistente são gratuitos. Para mais informações, consulte Instâncias do ApsaraDB RDS for MySQL suportam os recursos gratuitos de proxy de banco de dados de uso geral e conexão persistente.
Colocar uma instância somente leitura offline
Suponha que você tenha um ambiente de divisão de leitura e gravação composto por uma instância primária A e duas instâncias somente leitura B e C. Para colocar a instância somente leitura C offline sem interrupções de serviço, siga estas etapas:
Acesse a página RDS Instances, selecione uma região e clique no ID da instância A.
No painel de navegação à esquerda, clique em Database Proxy. Na seção Connection Topology Management, clique em Modify Configuration.
-
Na caixa de diálogo Modify Proxy Endpoint (Terminal) Configuration, defina o peso de leitura da instância somente leitura C como 0.
Selecione Custom para o método de alocação de peso de leitura e defina o peso de leitura da instância somente leitura C como
0. -
Na página Monitoring and Alerts da instância somente leitura C, monitore o gráfico Session Connection e aguarde até que a métrica
active_sessioncaia para 0.NotaVerifique apenas se
active_sessionestá em 0. Se o valor não cair para 0 após um longo período, encerre as sessões. Na aba Database Proxy da instância primária A, remova a instância somente leitura C do endpoint do proxy de banco de dados.
Perguntas frequentes
Criação
-
P: Por que não consigo selecionar uma zona específica ao criar uma instância somente leitura?
R: Se uma zona estiver indisponível para seleção, indica que os recursos nessa zona estão esgotados. Selecione outra zona. Isso não afeta a instância somente leitura.
-
P: Posso selecionar uma VPC para a instância somente leitura diferente da VPC da instância primária?
R:
Se a instância primária residir na rede clássica, selecione qualquer VPC para a instância somente leitura.
-
Se a instância primária residir em uma VPC, as opções para a VPC da instância somente leitura são as seguintes:
Se o tipo de armazenamento for SSD local, selecione qualquer VPC para a instância somente leitura.
Se o tipo de armazenamento for disco em nuvem, a instância somente leitura deve residir na mesma VPC da instância primária.
-
P: A criação de uma instância somente leitura afeta a instância primária?
R: Durante o processo de criação, não é possível executar operações como alterar as especificações da instância primária. Aguarde a conclusão da criação da instância somente leitura para realizar essas operações. Caso contrário, a instância primária não é afetada.
-
P: Posso adicionar uma instância somente leitura a uma instância do ApsaraDB RDS for MySQL Basic Edition para implementar a divisão de leitura e gravação?
R: Não é possível adicionar diretamente uma instância somente leitura a uma instância do ApsaraDB RDS for MySQL Basic Edition. Atualize uma instância do ApsaraDB RDS for MySQL 8.0 ou 5.7 do Basic Edition para o High-availability Edition, adicione uma instância somente leitura e, em seguida, ative e configure o recurso de proxy de banco de dados para implementar a divisão de leitura e gravação. Também é possível atualizar a instância Basic Edition para a Cluster Edition e usar os nós primário e secundário da instância Cluster Edition para implementar a divisão de leitura e gravação.
Para informações sobre como atualizar uma instância do Basic Edition para o High-availability Edition, consulte Atualizar uma instância do ApsaraDB RDS for MySQL do Basic Edition para o High-availability Edition.
Para informações sobre como atualizar uma instância do Basic Edition para a Cluster Edition, consulte Atualizar uma instância do ApsaraDB RDS for MySQL do Basic Edition para a Cluster Edition.
Para informações sobre como ativar e configurar o recurso de proxy de banco de dados, consulte Ativar o recurso de proxy de banco de dados e Configurar uma política de acesso para um endpoint de proxy de banco de dados.
-
P: Posso selecionar zonas para os nós primário e secundário ao criar uma instância somente leitura do High-availability Edition?
R: A seleção de zonas para os nós primário e secundário só é possível se a instância primária utilizar discos em nuvem e sua versão secundária do mecanismo for 20210430 ou posterior. Em outros casos, não é possível selecionar zonas para os nós primário e secundário.
Sincronização e atraso
-
P: Quanto tempo leva a sincronização de dados para uma instância somente leitura?
R: Em circunstâncias normais, os dados são sincronizados em tempo real. No entanto, pode ocorrer um atraso de replicação durante grandes transações ou operações DDL. O atraso real varia conforme as circunstâncias específicas.
-
P: Como determinar se a replicação está normal com base no atraso de replicação de uma instância somente leitura?
R: Normalmente, o atraso de replicação de uma instância somente leitura é inferior a 1 segundo. Se o atraso exceder 1 segundo, ocorre um atraso na sincronização de dados. Em casos extremos, a conexão pode ser interrompida.
-
P: Quais são as causas comuns de atrasos de replicação?
R: Para informações sobre as causas comuns e soluções para atrasos de replicação, consulte Causas e soluções para a latência de replicação de uma instância somente leitura do ApsaraDB RDS for MySQL.
-
P: As instâncias somente leitura suportam replicação paralela?
R: Sim, as instâncias somente leitura suportam replicação paralela.
Conexão e roteamento
-
P: Como forçar o processamento de solicitações pela instância primária?
R: Utilize um dos seguintes métodos para forçar o envio de solicitações à instância primária:
Conecte-se ao endpoint interno ou público da instância primária para enviar solicitações diretamente a ela.
Se o proxy de banco de dados estiver ativado e a divisão de transações desativada, encapsule as solicitações dentro de uma transação. Por padrão, as operações dentro de uma transação são enviadas à instância primária.
Use hints para rotear solicitações à instância primária. Para mais informações, consulte Hints.
-
P: Uma instância somente leitura possui um endpoint dedicado? Posso me conectar a uma instância somente leitura usando o endpoint dedicado?
R: Sim, uma instância somente leitura possui um endpoint dedicado. Obtenha o endpoint na seção Basic Information, na página de detalhes da instância somente leitura.
Manutenção da instância
-
P: Adicionei uma instância somente leitura à minha instância do ApsaraDB RDS for MySQL e, depois de um tempo, o uso de armazenamento dela está maior que o da instância primária. Isso é normal?
R: Sim, isso é normal. Essa discrepância de espaço é causada por diferenças no mecanismo de sincronização de dados entre as instâncias primária e somente leitura:
Instância primária: Executa instruções SQL originais, como
INSERTeUPDATE.Instância somente leitura: Reexecuta eventos de log binário baseados em linhas para sincronizar dados.
Essa diferença no mecanismo de gravação de páginas do InnoDB pode causar divisões de página ou maior fragmentação interna de armazenamento na instância somente leitura. Portanto, mesmo que os dados estejam completamente consistentes, os arquivos físicos da instância somente leitura podem ser maiores que os da instância primária. Em cenários que envolvem atualizações frequentes, exclusões ou grandes transações, o arquivo ibdata1, o log de desfazer (undo log) ou arquivos temporários da instância somente leitura podem crescer mais rapidamente, tornando a diferença de espaço mais significativa.
Solução: Recrie a instância somente leitura. Após ativar a divisão de leitura e gravação usando um proxy de banco de dados, crie uma nova instância somente leitura. Depois que a nova instância estiver funcionando conforme o esperado, exclua a instância antiga.
-
P: Se uma instância somente leitura for do High-availability Edition e tiver nós primário e secundário, como configuro parâmetros para esses dois nós?
R: Configure os parâmetros apenas no nó primário da instância somente leitura. O nó secundário sincroniza automaticamente as configurações de parâmetros do nó primário. Não é possível modificar diretamente os parâmetros do nó secundário.
-
P: Uma instância somente leitura pode ser convertida em uma instância regular?
R: Não, isso não é suportado.
-
P: Posso fazer backup dos dados de uma instância somente leitura? Backups automáticos de instância podem ser realizados na instância somente leitura?
R: Não é necessário fazer backup dos dados da instância somente leitura. Os backups são realizados na instância primária. Como são usados backups de snapshot, eles não afetam o desempenho da instância primária.
-
P: Como os logs de transação são limpos?
R: Os logs locais de uma instância do ApsaraDB RDS for MySQL são excluídos automaticamente com base em regras ou podem ser excluídos manualmente.
-
P: Alterar a configuração, liberar ou mudar o método de faturamento de uma instância somente leitura afeta a instância primária?
R: Não.
Faturamento
-
P: O método de faturamento de uma instância somente leitura pode ser alterado?
R: Sim. Para mais informações, consulte Alterar o método de faturamento de uma instância de Pagamento Conforme o Uso para Assinatura ou Alterar o método de faturamento de uma instância de Assinatura para Pagamento Conforme o Uso.
-
P: Como estimo os custos de uma instância somente leitura?
R: Faça login no console do ApsaraDB RDS, acesse a página de criação de instância somente leitura e configure parâmetros como tipo de instância e espaço de armazenamento conforme suas necessidades comerciais. As taxas exibidas na página podem ser usadas como uma estimativa de custo.
Referência de API
|
API |
Descrição |
|
Cria uma instância somente leitura do ApsaraDB RDS. |