DataARTIGO

Replicação assíncrona mestre-escravo para bancos de dados PostgreSQL em um clique

Ter seus dados replicados para um outro banco de dados pode ser muito útil para uma grande variedade de motivos.

Como um componente crítico para a maioria das aplicações, os dados devem estar disponíveis para os usuários finais nos ambientes que estão dinamicamente em mudança. Armazenar os dados em um só local é um risco no caso de haver uma falha do sistema. Por isso, você precisa criar uma estratégia para garantir a alta disponibilidade, e uma das soluções é manter os dados em múltiplos servidores sincronizados.

Ter seus dados replicados para um outro banco de dados pode ser muito útil para uma grande variedade de motivos, tais como melhorar a performance, executar serviços de back-up, analisar as informações, e, é claro, suportar falhas no sistema.

Entre as inúmeras soluções para clusterização de bancos de dados, a Jelastic fornece o pacote para replicação assíncrona mestre-escravo para PostgreSQL, que pode ser instalada automaticamente e ser executada sem necessidade de configurações adicionais.

Agora, vamos dar uma olhada rápida nas especificações do pacote e seguir o passo a passo para a instalação.

Pacote de replicação PostgreSQL para utilização instantânea

A solução para replicação PostgreSQL apresentada para a instalação em um clique é baseada no modelo PostgreSQL 9.5.5 certificado da Jelastic. Como padrão, ele utiliza dois contêineres de banco de dados (um para cada papel – Mestre e Escravo) com replicação assíncrona entre eles.

O servidor primário (mestre) executa o banco de dados ativo, que trata as operações de escrita e leitura, enquanto o servidor secundário (escravo) opera com uma cópia desse banco de dados e trata apenas operações somente de leitura. Por isso, se o servidor principal falhar, o sistema vai executar os dados do contêiner escravo.

Dentro do pacote, cada contêiner de banco de dados tem um escalonamento vertical de 1 servidor reservado a até 24 servidores dinâmicos (até 3 GB de RAM e 9,6 GHz de processamento) que são alocados dinamicamente de acordo com a carga recebida. Subsequentemente, você pode alterar a alocação dos limites de recursos seguindo o guia no link acima.

Agora, vamos em frente para termos o pacote instalado e rodando.

Instalando o pacote de replicação do PostgreSQL

A instalação do pacote é um processo simples que você pode executar em apenas alguns cliques.

Acesse a plataforma Jelastic com suas credenciais e clique em “Loja” (Marketplace) no topo do painel.

Dentro da sessão de aplicativos (Apps), utilize a caixa de pesquisa para encontrar o pacote Replicação de Bancos de Dados PostgreSQL (PostgreSQL Database Replication) e clique em instalar.

Dica: Os recursos do pacote de replicação de bancos de dados PostgreSQL está disponível na coleção Jelastic JPS, junto com outras soluções úteis, qualquer uma delas pode ser integrada importando o arquivo manifest.jps do diretório apropriado.

Na janela de instalação, digite o nome do ambiente e o nome de exibição (alias), selecione uma região (se várias regiões estiverem disponíveis) e clique em instalar.

Quando a instalação for concluída, você verá uma mensagem de confirmação com o endereço URL do nó mestre e receberá, simultaneamente, uma notificação por e-mail com seus dados de administração.

Agora vamos colocar o banco de dados mestre em ação para verificar se os dados são replicados com sucesso para o escravo.

Testando a replicação dos bancos de dados PostgreSQL

Para garantir que os dados sejam replicados corretamente, vamos criar uma nova instância do banco de dados no contêiner mestre e checar sua existência no escravo.

Criar um novo banco de dados Postgre

Clique em “Abrir no Navegador” (Open in Browser) próximo ao nó PostgreSQL mestre para acessar a interface web do phpPgAdmin;

Em “Servidores” (Servers), clique em PostgreSQL e acessa utilizando as credenciais que você recebeu por e-mail após a instalação do pacote.

Clique em “Criar Banco de Dados” (Create Database), preencha o nome (ex.: Jelastic), e clique em Criar;

 

Agora, quando o banco de dados for criado dentro do nó mestre, vamos verificar os dados replicados dentro do contêiner do escravo.

Verificar a replicação

Para garantir que a replicação dos dados do contêiner mestre para o escravo funciona conforme o planejado, execute os passos a seguir:

Clique em “Abrir no navegador” próximo ao nó PostgreSQL escravo para acessar a interface web phpPgAdmin;

Acesse a interface de administrador com o mesmo usuário e senha que você recebeu por e-mail após a instalação do pacote;

 

Quando acessar, você poderá ver e gerenciar o banco de dados (Jelastic, em nosso exemplo) que foi criado mais cedo no contêiner mestre.

É isso! O ambiente PostgreSQL com replicação assíncrona Mestre-Escravo está configurada e pronta para processamento dos dados.

Como um próximo passo, você já pode conectar esses bancos de dados replicados ao seu projeto. O processo depende das especificações da aplicação, então, siga as instruções abaixo para:

Teste você mesmo como pode ser fácil tratar múltiplas cópias de dados essenciais dentro dos bancos de dados PostgreSQL sem a necessidade de configurações manuais.

Ficou com dúvidas sobre a configuração da replicação do PostgreSQL? Fique à vontade para perguntar nos comentários abaixo.

 

***

Tetiana Markova faz parte do time de colunistas internacionais do iMasters. A tradução do artigo é feita pela Redação iMasters, com autorização do autor, e você pode acompanhar o artigo em inglês no link: http://blog.jelastic.com/2017/05/25/master-slave-postgresql-replication-automatic-installation/

É uma jovem e talentosa autora de artigos técnicos na Jelastic. Ela escreve sobre hospedagem em nuvem, automatização DevOps, containers Docker e acabou se tornando expert nessas áreas. Depois de publicados, a maioria de seus textos é republicada no DZone.

Ver perfil