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. Esse conceito consiste na possibilidade de se ter 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. Este servidor em espera, dizemos que está em Standby.


2) Entendendo o Hot-Standby

A troca de servidores em Hot-Standby pode ser manual (através de uma opção no E3 Server) ou automática. A troca automática ocorre quando o servidor em espera detecta que o servidor principal não está mais rodando, através de testes de comunicação com este servidor. É possível também configurar a troca automática para que ocorra quando há 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 fica monitorando o servidor ativo e entra em ação no momento em que não receber mais resposta desse.
  • 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 banco de dados

O Hot-Standby garante a continuidade da aplicação, mas quando utilizamos bancos de dados, também temos que garantir a continuidade do acesso à base de dados. Podemos resolver este problema de duas maneiras.

Na primeira, ambas aplicações acessam uma mesma base de dados. Habilitamos o acesso ao BD na aplicação configurando o objeto DBServer em ambos 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 em ambos 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 acessando um servidor de banco de dados próprio


Neste caso, temos que 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 imediatamente, no mínimo de tempo possível.

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 em disco localmente para posterior envio (quando a comunicação entre os dois computadores for reestabelecida). Isso assegura a igualdade entre as tabelas geradas pela aplicação.


4) Conclusão

O objetivo da ferramenta de Hot-Standby é manter a continuidade da aplicação, com um mínimo de perdas por paradas do processo. O escopo da ferramenta, porém, é garantir a execução da aplicação, quaisquer outros controles devem ser feitos pelo programador. Neste artigo, pudemos ver duas técnicas para garantir a continuidade do acesso às bases de dados da aplicação.



Artigos Relacionados

Anexos

Este artigo não possui anexos.

Comentários de Usuários

Nenhum comentário de usuário. Adicionar um comentário

Comentários do artigo "Utilizando bancos de dados com Hot-Standby"

Para adicionar um comentário neste artigo, preencha os campos abaixo. Os campos marcados com asterisco são obrigatórios.

   Nome:
   E-mail:
* Comentário:
* Digite o código abaixo:

 

Detalhes do Artigo

Última Atualização
13th of October, 2008

Autor
Marco Andrei Kichalowsky

Você gostaria de...

Imprimir esta página  Imprimir esta página

Enviar por e-mail esta página  Enviar por e-mail esta página

Adicionar um comentário  Adicionar um comentário

 Avise-me

Avise-me  Adicionar aos favoritos

Remover Marcação Remover Marcação

Editar este Artigo

Edição Rápida

Exportar para PDF


Opinião dos Usuários

Nenhum usuário votou ainda.

Como você classifica este artigo?




Obrigado pelo seu voto.

Continuar