Visão geral
O TencentDB for MySQL permite que você crie uma ou mais instâncias somente leitura para formar um grupo somente leitura (RO, na sigla em inglês), que é adequado para a separação de leitura/gravação e cenários de aplicações de “uma fonte e várias réplicas”, além de conseguir melhorar muito a capacidade de carga de leitura do seu banco de dados.
Um grupo RO é um conjunto de instâncias somente leitura que compartilham o mesmo endereço de rede privada. Você pode definir seus pesos para equilibrar a carga de tráfego, definir a política de remoção de instâncias somente leitura atrasadas e realizar outras configurações. Você pode implantar um grupo RO conforme necessário e enviar as solicitações de leitura correspondentes para instâncias somente leitura de acordo com determinadas regras. Além disso, você pode implementar a recuperação de desastres configurando várias instâncias somente leitura no mesmo grupo RO.
TencentDB for MySQL suporta dois tipos de grupos RO: grupo RO comum e grupo RO de análise.
Grupo RO comum: O grupo RO usado por instâncias somente leitura normais do motor InnoDB suporta balanceamento de carga, eliminação de atraso, número mínimo de retenção de instâncias e outras funcionalidades.
Grupo RO de análise: O grupo RO usado por instâncias de mecanismo de análise somente leitura do motor LibraDB suporta apenas a capacidade de balanceamento de carga.
Atenção:
O grupo RO de análise só pode gerenciar motores de análise somente leitura, enquanto o grupo RO comum só pode gerenciar instâncias somente leitura.
Apenas instâncias principais ou de recuperação de desastres com arquitetura de nó duplo e nó triplo suportam a criação de grupo RO de instâncias somente leitura.
Se um limite de atraso for definido, a instância somente leitura permanecerá o estado de eliminação após a reinicialização ou reconstrução, e só se juntará novamente ao grupo RO até que o atraso retorne para dentro do limiar de atraso especificado.
Pré-requisitos
Primeiro, é necessário criar uma instância de origem (source), para que seja possível criar uma instância somente leitura. Para mais informações, consulte Guia de aquisição. Instruções
Criação de grupo RO
1. Faça login no Console do TencentDB for MySQL. Na lista de instâncias, clique no ID de uma instância ou em Manage (Gerenciar) na coluna Operation (Operação) para acessar a sua página de gerenciamento. 2. Selecione a página de instâncias somente leitura, clique em Novo e acesse a página de compra.
3. Na página de aquisição exibida, especifique as seguintes configurações de instância somente leitura, verifique se tudo está correto e clique em Buy Now (Comprar agora).
Motor da instância: Selecione o motor da instância somente leitura atual. Atualmente, são suportados os motores InnoDB e LibraDB. Aqui, selecione o motor InnoDB.
Specify RO Group (Especificar grupo RO): selecione Create RO group (Criar grupo RO). Se várias instâncias forem adquiridas ao mesmo tempo, todas elas serão atribuídas a esse novo grupo RO e, por padrão, seus pesos serão alocados pelo sistema automaticamente.
RO Group Name (Nome do grupo RO): o nome do grupo RO não precisa ser exclusivo e pode conter até 60 letras, dígitos, hifens, sublinhados e pontos.
Remove Delayed RO Instances (Remover instâncias RO atrasadas): essa opção indica se a política de remoção deve ser ativada. Se uma instância somente leitura for removida, seu peso será automaticamente definido como 0.
Se uma instância somente leitura for removida quando seu atraso exceder o limite, ela ficará inativa, seu peso será automaticamente definido como 0 e serão enviados alarmes. Para mais informações sobre como configurar o alarme de remoção de instância somente leitura e os destinatários, consulte Políticas de alarme (Cloud Monitor). A instância será colocada de volta no grupo RO quando seu atraso ficar abaixo do limite.
Independentemente se a remoção de instância somente leitura atrasada estiver ativada, uma instância somente leitura que foi removida devido a uma falha de instância se juntará novamente ao grupo RO quando for reparada. Delay Threshold (Limite de atraso): define um limite de atraso para a instância somente leitura. Quando o limite for excedido, a instância será removida do grupo RO.
Least RO Instances (Mínimo de instâncias RO): essa é a quantidade mínima de instâncias que devem ser retidas no grupo RO. Quando houver menos instâncias no grupo RO, mesmo que uma instância exceda o limite de atraso, ela não será removida.
Assign Read Weight (Atribuir peso de leitura): é atribuído pelo sistema.
Billing Mode (Modo de faturamento): instâncias somente leitura são com pagamento conforme o uso.
Region (Região): por padrão, é a mesma da instância de origem (source).
Database Version (Versão do banco de dados): por padrão, é a mesma da instância de origem (source).
Architecture (Arquitetura): é um nó único. Embora a arquitetura de nó único seja econômica, há riscos de pontos únicos de falhas. Recomendamos que você adquira pelo menos duas instâncias somente leitura no grupo RO de suas operações que exigem alta disponibilidade.
Data Replication Mode (Modo de replicação de dados): Replicação assíncrona.
AZ (Zona de disponibilidade): se houver várias AZs na região atual, você poderá escolher uma, conforme necessário.
4. Retorne à lista de instâncias. O status da instância criada é Delivering (Em entrega). Se o status mudar para Running (Em execução), a instância somente leitura foi criada com êxito.
Configuração de grupo RO
Na página de configuração do grupo RO, você pode configurar as informações básicas do grupo, como o ID, o nome, a replicação atrasada, a política de remoção, o limite de atraso, o mínimo de instâncias somente leitura e o peso de leitura.
Nota:
As instâncias somente leitura em um grupo RO podem usar especificações diferentes e seus pesos de tráfego de leitura também podem ser diferentes.
As instâncias somente leitura no mesmo grupo RO podem ter datas de expiração e modos de faturamento diferentes.
Após ativada, a replicação atrasada terá efeito para todas as instâncias somente leitura nesse grupo RO, mas não alterará seus status de replicação.
A opção de atraso de replicação será exibida somente depois que a replicação atrasada for ativada.
1. Faça login no Console do TencentDB for MySQL. Na lista de instâncias, clique no ID de uma instância de origem (source) para acessar a sua página de gerenciamento. 2. Nessa página, selecione a guia Read-Only Instance (Instância somente leitura), localize o grupo RO desejado e clique em Configuration (Configuração) para acessar a página de configuração do grupo RO.
3. Nessa página, configure as informações do grupo RO e clique em OK.
Replicação atrasada da instância:Você pode definir a replicação atrasada e selecionar a reprodução por posição em flashback ou identificador de transação global (GTID, na sigla em inglês) durante o atraso para reverter dados com eficiência e corrigir falhas.
Replication Delay (Atraso da replicação): você pode configurar o tempo de replicação atrasada entre uma instância somente leitura e sua instância de origem (source). O intervalo de valores é de 1 a 259.200 segundos.
Remove Delayed RO Instances (Remover instâncias RO atrasadas): essa opção indica se a política de remoção deve ser ativada. Se uma instância somente leitura for removida quando seu atraso exceder o limite, seu peso será definido como 0 automaticamente e os alarmes serão enviados. Para mais informações sobre como configurar o alarme de remoção de instância somente leitura e os destinatários, consulte Políticas de alarme (Cloud Monitor). Delay Threshold (Limite de atraso): define um limite de atraso para a instância somente leitura. Quando o limite for excedido, a instância será removida do grupo RO.
Least RO Instances (Mínimo de instâncias RO): essa é a quantidade mínima de instâncias que devem ser retidas no grupo RO. Quando houver menos instâncias no grupo RO, mesmo que uma instância exceda o limite de atraso, ela não será removida.
Assign Read Weight (Atribuir peso de leitura): o grupo RO fornece dois métodos de atribuição de peso: atribuição automática pelo sistema e atribuição personalizada. O valor do peso deve ser um número inteiro entre 0 e 100. Veja abaixo a lista de pesos de leitura definidos automaticamente para instâncias do MySQL de dois e três nós pelo sistema:
Rebalanceamento:
A modificação do peso só afetará as novas cargas se o rebalanceamento estiver desativado. A operação não afetará as instâncias somente leitura acessadas por conexões persistentes existentes, nem causará desconexão momentânea do banco de dados.
Se o rebalanceamento estiver ativado, todas as conexões com o banco de dados serão desconectadas temporariamente, e as cargas das conexões recém-adicionadas serão balanceadas de acordo com os pesos definidos.
Encerramento e exclusão de grupo RO
Nota:
Não é possível excluir manualmente os grupos RO.
Um grupo RO será excluído automaticamente quando a última instância somente leitura nele for eliminada.
Os grupos RO vazios não podem ser retidos.
1. Faça login no Console do TencentDB for MySQL. Na lista de instâncias, clique no ID de uma instância de origem (source) para acessar a sua página de gerenciamento. 2. Nessa página, selecione a guia Read-Only Instance (Instância somente leitura), localize o grupo RO desejado e exclua todas as instâncias somente leitura clicando em Terminate/Return (Encerrar/Devolver) à direita.
3. Na janela pop-up, leia e concorde com as Termination Rules (Regras de encerramento) e clique em Terminate Now (Encerrar agora).
Perguntas quentes
Por que não consigo selecionar uma determinada zona disponível ao criar uma instância somente leitura?
Não é possível selecionar uma determinada zona disponível, o que indica que não há recursos nessa zona disponível no momento. Você pode escolher outras zonas disponíveis de acordo com a página de compra real, sem afetar o seu uso da instância somente leitura.
Posso selecionar uma zona disponível diferente daquela da instância principal ao criar uma instância somente leitura?
Sim. Ao criar uma instância somente leitura e optar por criar um novo grupo de RO, pode selecionar uma zona disponível diferente daquela da instância principal. No entanto, se selecionar um grupo de RO existente ao criar uma instância somente leitura, a zona disponível desta instância somente leitura só poderá ser consistente com a zona disponível do grupo de RO existente selecionado, e não precisa necessariamente estar na mesma zona disponível da instância principal.
O tipo de instância selecionado para a instância somente leitura está incorreto. Os tipos de instâncias dentro do mesmo grupo RO devem ser consistentes, não podendo haver instâncias de uso geral e exclusivas ao mesmo tempo. Você pode visualizar os tipos de instâncias somente leitura existentes sob o grupo RO correspondente e manter o mesmo tipo de instância ao criar uma nova.