Elipse Knowledgebase Utilizando bancos de dados com Hot

Propaganda
Elipse Knowledgebase
Utilizando bancos de dados com Hot-Standby.
• 1) Introdução
O Hot-Standby é uma ferramenta do Elipse E3 que permite a implementação do conceito de
fail-over em um sistema supervisório. Isto significa que é possÃ-vel haver dois servidores
funcionando simultaneamente: o servidor principal e o servidor reserva, este último como
contingência do primeiro. Caso o servidor principal falhe, o servidor reserva entra em ação
imediatamente. Quando este servidor está em espera, dizemos que está em Standby.
2) Entendendo o Hot-Standby
A troca de servidores em Hot-Standby pode ser manual (através do E3 Server) ou automática. A
troca automática ocorre quando o servidor em espera detecta, através de testes de comunicação
com este servidor, que o servidor principal não está mais rodando. É possÃ-vel também
configurar a troca automática para que ela ocorra quando houver uma falha em um canal de E/S, ou
em qualquer outra falha local detectada pelo aplicativo.
Para implementar o Hot-Standby, o E3 permite que seus servidores sejam configurados em diferentes
estados:
Ativo - É o servidor que está rodando o aplicativo. Apenas um servidor pode estar ativo em um
domÃ-nio em determinado momento. Standby - O servidor em standby fica em espera, com o aplicativo
carregado, mas não em execução. Ele monitora o servidor ativo ,e entra em ação assim que
não receber mais respostas deste. Inativo - Um servidor inativo está declarado no DomÃ-nio, mas
não está selecionado nem como principal nem como standby. Ele monitora todas as mudanças no
arquivo de domÃ-nio, podendo ser ativado a qualquer momento. Em manutenção - O servidor em
manutenção não toma parte em nenhum evento no domÃ-nio. Este estado serve para indicar que
um servidor está sendo configurado e não está pronto para entrar em ação.
3) Trabalhando com bancos de dados
O Hot-Standby garante a continuidade da aplicação, mas quando utilizamos bancos de dados, também
torna-se necessário garantir a continuidade do acesso à base de dados. Este problema pode ser resolvido
de duas maneiras.
Na primeira delas, ambas as aplicações acessam uma mesma base de dados. O acesso ao BD é
habilitado na aplicação através da configuração do objeto DBServer em ambos os servidores
(principal e standby) com os mesmos parâmetros de localização do BD na rede.
Figura 1: DomÃ-nio com Hot-Standby acessando o mesmo servidor de banco de dados
Note que, para garantir a continuidade do sistema, é importante que a base de dados esteja em uma
máquina separada, acessÃ-vel aos dois servidores. Nesse caso, o controle da continuidade da base de
dados é feito fora do E3.
Na segunda maneira, a gravação de dados é feita em bases diferentes. As bases podem estar em
servidores distintos, mas o ideal é que os dois bancos de dados estejam rodando localmente nos dois
servidores, principal e standby, por motivos de rapidez e segurança. Assim, garantimos que o acesso ao
BD estará sempre disponÃ-vel, pois a máquina que está rodando a aplicação também roda o banco
de dados.
Figura 2: DomÃ-nio principal e DomÃ-nio standby, cada um deles acessando um servidor de banco de
dados próprio
Neste caso, é preciso garantir o sincronismo entre as diferentes bases da aplicação principal e da
secundária. O E3 suporta esta opção através da propriedade EnableSynchronization do objeto
DBServer. Quando ela está ativa, todos os dados gravados na base principal são atualizados na base em
standby quase que imediatamente, no mÃ-nimo de tempo possÃ-vel.
1/2
Um detalhe importante é que, se a aplicação principal não conseguir enviar os dados para o servidor
em standby, esses dados ficarão armazenados localmente em disco, para posterior envio (quando a
comunicação entre os dois computadores for restabelecida). Isto assegura a igualdade entre as tabelas
geradas pela aplicação.
4) Conclusão
O objetivo da ferramenta Hot-Standby é manter a continuidade da aplicação, com um mÃ-nimo de
perdas por paradas no processo. O escopo da ferramenta, no entanto, é garantir a execução da
aplicação, e quaisquer outros controles devem ser feitos pelo programador.
http://kb.elipse.com.br/en-us/questions/43/
2/2
Download