O PolarDB oferece três tipos de endpoints de conexão, cada um composto por um endereço de host e uma porta. A escolha adequada do tipo de endpoint e da configuração de rede determina como sua aplicação gerencia a divisão de leitura e escrita, o failover e o isolamento de tráfego.
Escolha um endpoint
O endpoint de cluster é a opção mais adequada para a maioria das cargas de trabalho.
| Tipo de endpoint | Função | Cenário recomendado | Tipos de rede compatíveis |
|---|---|---|---|
| Endpoint de cluster (recomendado) | Encaminha o tráfego pelo PolarProxy, que divide automaticamente as requisições de leitura e escrita: as escritas vão para o nó primário e as leituras são distribuídas entre os nós somente leitura. | Ideal para a maioria das cargas de trabalho. Oferece divisão de leitura e escrita, balanceamento de carga e pool de conexões. Permite escalar leituras adicionando nós somente leitura a qualquer momento. |
|
| Endpoint personalizado | Endpoint definido pelo usuário que direciona o tráfego para um subconjunto específico de nós. Permite configurar quais nós incluir, o modo de leitura/escrita e a política de balanceamento de carga. | Recomendado para isolar o tráfego de serviços específicos. Por exemplo, direcione consultas analíticas para um conjunto dedicado de nós somente leitura sem impactar a carga de produção. | Rede privada (VPC), rede pública |
| Endpoint primário | Conecta-se diretamente ao nó primário, ignorando o PolarProxy. Suporta tanto leituras quanto escritas. | Utilize quando sua aplicação exigir conexões diretas ao banco de dados e não for compatível com a divisão de leitura e escrita. | Rede privada (VPC) |
Restrições de endpoints personalizados
Um endpoint personalizado deve incluir pelo menos um nó somente leitura. As requisições são roteadas exclusivamente para os nós associados a esse endpoint.
Endpoints personalizados com um único nó não oferecem alta disponibilidade. Se o nó subjacente falhar, o endpoint ficará indisponível por até uma hora. Utilize endpoints personalizados de nó único apenas para desenvolvimento e testes, nunca em produção.
Comportamento durante falhas de nó
|
Tipo de endpoint |
Comportamento em caso de falha de nó |
|
Endpoint personalizado (nó único) |
O endpoint fica indisponível por até uma hora. |
|
Endpoint primário |
Reconecta-se automaticamente ao novo nó primário após um failover. |
Escolha um tipo de rede
|
Tipo de rede |
Descrição |
Casos de uso típicos |
|
Rede privada (VPC) |
Mantém o tráfego dentro da sua Virtual Private Cloud (VPC), garantindo melhor desempenho e segurança. Um endpoint privado é criado automaticamente ao criar um cluster. É possível modificá-lo, mas não excluí-lo. Consulte Alterar o endpoint de um cluster. |
Uma instância do Elastic Compute Service (ECS) e o cluster estão na mesma VPC. Acesso ao cluster via Data Management Service (DMS) pela VPC. |
|
Rede pública |
Permite conexões pela internet. Apresenta desempenho inferior ao da VPC e exige controle de acesso rigoroso. Crie ou libere um endpoint público a qualquer momento. Consulte Gerenciar os endpoints de um cluster. |
Administração remota. Conexão a partir de serviços ou ferramentas fora da sua VPC. |
Utilize a rede privada para todo o tráfego de produção. Reserve os endpoints públicos para desenvolvimento, gerenciamento remoto ou quando o acesso via VPC não estiver disponível.
Modos de leitura e escrita para endpoints de cluster
Os endpoints de cluster suportam dois modos de leitura e escrita. A escolha depende da necessidade de o endpoint processar operações de escrita.
Para configurar o modo de leitura e escrita de um endpoint de cluster, consulte Configurar o PolarProxy .
Leitura/Escrita (divisão automática de leitura e escrita)
As escritas são enviadas ao nó primário. As leituras são distribuídas entre os nós configurados como nós de serviço.
Seleção de nós de serviço: Inclua o nó primário, um ou mais nós somente leitura, ou ambos.
Roteamento de escrita: Todas as requisições de escrita vão para o nó primário, independentemente da configuração dos nós de serviço.
Roteamento de leitura: Controlado pela configuração Primary Node Accepts Read Requests. Ative ou desative essa opção para incluir ou excluir o nó primário do tráfego de leitura.
Balanceamento de carga: Balanceamento de carga baseado em requisições ativas. Consulte Políticas de balanceamento de carga.
Divisão de transações: Suportada quando o Consistency Level está definido como Session Consistency (Medium) ou Global Consistency (Strong). Consulte Divisão de transações.
Nível de consistência: Suporta Eventual Consistency (Weak), Session Consistency (Medium) e Global Consistency (Strong). Consulte Nível de consistência.
-
Pool de conexões: Nível de sessão ou nível de transação. Consulte Pool de conexões.
O pool de conexões do PolarProxy é independente de qualquer pool de conexões do lado do cliente. Se seu cliente já gerencia um pool de conexões, defina o pool de conexões do PolarProxy como Off . Quando definido como Off , as conexões são distribuídas entre todos os nós configurados, e o limite total de conexões é determinado pelo máximo de conexões do nó primário.
Proteção de segurança (proteção contra sobrecarga): Suportada. Consulte Proteção contra sobrecarga.
Perguntas frequentes
Como identificar se minha conexão está usando um endpoint primário ou um endpoint de cluster?
Verifique o ID da sessão ou o campo Vip no SQL Explorer.
ID da sessão: Se o ID da sessão for menor que
16777215, a conexão utiliza o endpoint primário. Caso contrário, ela usa um endpoint de cluster.Campo
Vipno SQL Explorer: Acesse a aba Audit no SQL Explorer. Se o campoVipcontiver um endereço IP, a conexão utiliza um endpoint de cluster ou personalizado. Se o campo estiver vazio, a conexão pode estar usando o endpoint primário ou a versão do kernel do banco de dados pode ser muito antiga para preencher esse campo. Para o MySQL 8.0.1, a versão secundária do kernel deve ser 8.0.1.1.3 ou posterior. Se você depende desse campo para diagnósticos, atualize o kernel do seu banco de dados.
Como saber se estou conectado ao endpoint de cluster padrão ou a um endpoint personalizado?
Verifique o campo Vip na aba Audit do SQL Explorer. O endereço IP exibido corresponde ao endpoint de cluster ou personalizado. Se o campo estiver vazio, a versão do kernel do banco de dados pode ser muito antiga para fornecer essa informação. Para o MySQL 8.0.1, a versão secundária do kernel deve ser 8.0.1.1.3 ou posterior.
Como me conectar diretamente a um nó somente leitura?
Crie um endpoint personalizado com o Read/Write Mode definido como Read-only e adicione os nós somente leitura desejados. Todas as conexões feitas por esse endpoint serão direcionadas exclusivamente a esses nós.
Faça login no console do PolarDB. Na página Basic Information do seu cluster, vá até a seção Database Connections e clique em Create Custom Endpoint.
Na caixa de diálogo Create Custom Endpoint, defina o Read/Write Mode como Read-only, selecione os nós somente leitura a serem incluídos e clique em OK.
Utilize a string de conexão do novo endpoint para se conectar diretamente a esses nós somente leitura.