Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Victor Massami

Usar Replicação ou Clusterização

Recommended Posts

Bom pessoal, andei usando a pesquisa do fórum, mas não me ajudou muito, ainda tenho a seguinte dúvida:

 

Preciso montar um esquema de servidores para rodar um sistema Delphi/MySQL, que estará dividido em 3 lojas:

 

PHD – Terá o servidor principal, e as máquinas internas irão acessá-lo através da rede local (ou seja, a banda larga reservada à ele, fica apenas para quem for acessar direto no servidor). Caindo a banda larga, ficará afetado apenas as atualizações das demais lojas;

 

BJBC e DHP – Terão servidores locais, que constantemente estarão enviando suas atualizações para o servidor principal (loja PHD, a única que terá acesso aos dados de todas as lojas). Caso venha a ter indisponibilidade de conexão com o servidor principal, os servidores locais ficarão encarregados de armazenarem as informações até que a conexão seja restabelecida, e logo após isto, iniciar a transmissão dos dados atualizados. Enquanto houver conexão, as atualizações no servidor central deverão ser simultâneas. Lembrando que os servidores de BJBC e DHP não terão nenhum tipo de contato, ambos apenas irão ser reportar à PHD (servidor central). Não é necessário que nenhuma dessas duas lojas tenha acesso aos dados uma da outra.

 

Diante deste cenário, qual tipo de configuração é a ideal e mais confiável a se fazer (Replicação ou Clusterização) ?

 

E como deveria fazer isto ?

 

Servidor Central está configurado com o Fedora 5 (com o mysql instalado e com usuário configurado pra ter acesso total), e os Servidores Locais com o Fedora 7 (e o mysqld instalado, e rodando na inicialização).

 

 

Estou lendo 2 livros, MySQL Guia do Programador e MySQL a Bíblia. Entendi mais ou menos o conceito disso, mas a parte prática não entendi nada até agora, poderiam me ajudar ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Falae vitão, tranquilo?

 

Viu eu acho melhor utilizar replicação, mas vai ser preciso um controle legal, senão vira zona.

 

Flwwww

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, se eu entendi, você terá 2 lojas que se comunicarão com o servidor da matriz e esta por sua vez consultará as informações providas por estas outras duas lojas, seria isso??

 

Vamos trocar algumas idéias para decidirmos qual tecnologia usarmos!

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, se eu entendi, você terá 2 lojas que se comunicarão com o servidor da matriz e esta por sua vez consultará as informações providas por estas outras duas lojas, seria isso??

 

Vamos trocar algumas idéias para decidirmos qual tecnologia usarmos!

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Exatamente. Na loja matriz (PHD) vai ter uma pessoa responsável pela consulta de fiscalização dos dados providos das outras lojas, podendo inclusive tbem, tirar relatórios, transferir estoque, essas coisas. Essa pessoa que ter os dados das outras lojas em tempo real.

 

O que pode ser feito, é as duas lojas acessarem via web o servidor principal, passando a gravar os dados no servidor local apenas quando houver indisponibilidade de conexão. Assim que voltar, sincroniza os dados.

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom pessoal, estou de volta com meu tópico. Já optei por usar a Replicação, só que até o presente momento eu não tenho entrado em acordo com a configuração dos servidores. Já tentei diversas opções vindas de livros (MySQL, a Bíblia e MySQL, Guia do Programador) e tutoriais da internet, cada um feito de uma forma diferente, o que acabou me confundindo, testei tudo e nada funcionou. Vou postar a seguir os códigos que eu mais tenho utilizado, e por gentileza, alguém me dê uma orientação mais clara, pois não entendo bem de MySQL, entrei de gaiato nessa história de configurar os servidores. Aí vão os códigos e os procedimentos:

 

 

Passo 1: Configurar servidor master

 

[mysqld]

log-bin=mysqlmaster # Habilitando log binário

server-id=1 # Identificando o servidor

 

 

Passo 2: Criar conta exclusiva para replicação

 

GRANT REPLICATION SLAVE ON *.* TO '<usuario>'@'<dominio>' IDENTIFIED BY '<senha>';

 

 

Passo 3: Configurando servidor Slave

 

[mysqld]

server-id=2 # Identificando o servidor

 

Passo 4: Após reiniciar servidor slave, os seguintes comandos foram executados

 

CHANGE MASTER TO

-> MASTER_HOST = '<endereço IP ou URL do servidor master>' ,

-> MASTER_PORT = <porta no qual o servidor está configurado, sem aspas>,

-> MASTER_USER = '<usuário com acesso ao log binário>',

-> MASTER_PASSWORD = '<senha do usuário com acesso ao log binário>',

-> MASTER_LOG_FILE = '<vazio ou arquivo de replicação, se houver>',

-> MASTER_LOG_POS = <zero ou linha de início de replicação, sem aspas>;

 

Passo 5: Deixar a mesma database nos 3 servidores

 

 

Fiz estes passos e nada aconteceu. Agora a minha dúvida: A alteração que ele replica é de apenas registros, ou seria também na estrutura ? Por que no teste que fiz, eu criei uma nova tabela no servidor master, e depois fui verificar nos servidores slave, e nada desta tabela aparecer.

 

Uma outra forma que utilizei para configurar um servidor escravo, foi editar o my.conf da seguinte forma:

 

[mysqld]

server-id=2

master-host=<endereço IP ou URL do servidor master>

master-port=<porta no qual o servidor está configurado>

master-user=<usuário com acesso ao log binário>

master-password=<senha do usuário com acesso ao log binário>

replicate-do-db=<nome do banco de dados a ser replicado>

 

E novamente fiz o mesmo tipo de teste, criando uma tabela, ao invés de editar um registro. Será que a replicação estaria funcionando, e o erro estaria no tipo de teste ?

 

Como sou iniciante nesse brinquedo, quanto mais claro na explicação, será mais fácil para que eu entenda, desde já obrigado.

 

 

 

Obs. A estrutura da replicação seria:

 

- Servidor PHD é o Master;

- Servidor DHP e Servidor BJBC são os Slaves;

 

Deve funcionar da seguinte forma: Os registros dos servidores DHP e BJBC serão enviados para o servidor PHD, e este irá sincronizar os dados, e devolver uma cópia atualizada para os servidores DHP e BJBC, sendo que estes dois servidores (DHP e BJBC) jamais se comunicarão, apenas se reportarão ao servidor PHD.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.