Patroni e etc - AWS Orientação prescritiva

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Patroni e etc

Recomendamos o Patroni como uma solução para fornecer HA com gerenciamento automático de failover. O Patroni é um gerenciador de failover automático de código aberto para bancos de dados PostgreSQL. Você pode usar o Patroni como modelo para criar sua própria solução personalizada de HA usando Python e um armazenamento de configuração distribuído, como o etcd, para máxima acessibilidade.

O Patroni também permite APIs verificar o status do serviço PostgreSQL e as funções de cada instância ou nó de banco de dados. Você deve instalar o Patroni em cada instância de banco de dados para que ele funcione com o etcd (armazenamento de configuração distribuído).

Por padrão, o Patroni configura o PostgreSQL para replicação assíncrona. A escolha do método de replicação depende de suas considerações comerciais. O Patroni é uma das melhores ferramentas para configurar o HA porque é altamente configurável. Aqui estão algumas das vantagens de usar o Patroni:

  1. É fácil alternar entre diferentes modos de replicação (síncrona e assíncrona).

  2. O Patroni tem uma API REST rica. O Patroni usa essa API para realizar failovers durante a corrida pela liderança usando HAProxyou outro balanceador de carga para realizar verificações de integridade de HTTP.

  3. O Patroni deve deixar temporariamente de gerenciar o cluster, mantendo o estado do cluster no Distributed Configuration Store (DCS). Por exemplo, você não quer que um failover ocorra durante uma janela de manutenção manual. O Patroni oferece comandos de pausa e retomada para que você possa evitar períodos de inatividade indesejados.

  4. Para evitar o problema da divisão cerebral, Patroni deve garantir que o PostgreSQL não aceite nenhuma confirmação de transação depois que a chave líder expirar no DCS. O Patroni também oferece suporte a dispositivos como o Watchdog para evitar o problema da divisão cerebral. Para obter mais informações sobre o problema da divisão cerebral e o Watchdog, consulte o suporte do Watchdog na documentação do Patroni.

Arquitetura

O diagrama a seguir mostra a arquitetura para configurar o HADR para seu banco de dados PostgreSQL local na EC2 Amazon usando Patroni e etcd.

Arquitetura patroni

O diagrama mostra o seguinte fluxo de trabalho:

  1. Crie EC2 instâncias.

  2. Instale um banco de dados PostgreSQL.

  3. Instale e configure o Patroni nas instâncias. EC2

  4. Crie e configure um Network Load Balancer.

  5. Configure cada banco de dados PostgreSQL no etcd (para Patroni) para obter HA.

Considerações

Recomendamos que você considere o seguinte antes de iniciar sua migração usando o Patroni:

  • Os usuários devem ter experiência em administração e DCS em PostgreSQL para usar o Patroni.

  • O Patroni tem uma curva de aprendizado acentuada e muitas opções de configuração para escolher.

  • Você deve ter portas extras dedicadas ao Patroni.