>       Tenho um sistema web desenvolvido em JAVA funcionando em conjunto com
> SDBD pgSQL, dessa forma desejo ver com vocês a melhor solução para
> replicação, alta disponibilidade e balanceamento de carga. Já fiz alguns
> estudos, e encontrei algo tipo PgPool e Snoly. O cenário é critico e não
> admite a não continuidade de serviços. Atualmente temos um servidor de
> Postgresql atuando em servidor linux SLES11, versão 8.4, onde no mesmo
> servido está o applicationServer Tomcat6 rodando.
>        Verifiquei que com Snoly eu consigo fazer apenas replicação
> unidirecioanal, Master-Slave, e modo Assincrono, ou seja, os dados são
> replicados apenas quando a transação é comitada no servidor master, querendo
> ou não gera um pequeno Delay sim ou não?. Outrosim, se o servidor master der
> "Crash", teremos que alterar manualmente a configuração de conexão com banco
> de dados da apliação web, que no caso usa Hibernate como framework ORM,
> acima da camada JDBC, em outras palavras, teremos que alterar o arquivo de
> configuração Hibernate.cfg.xml, que aponta para o ip e a porta do
> postgresql. Mesmo realizano replicação, ainda não tenho Alta Disponibilidade
> e Balanceamento de Carga de consultas SQL, o que acho na minha visão eu não
> alcançaria somente com Snoly, embora eu vi que tem como fazer um dupla entre
> Snoly e HeartBeat, mas eu lhes pergunto, funciona essa dupla?
>        Quanto ao PgPool, vi que ele funciona como mediador entre o front-end
> e o back-end, ou seja, o que chama de Middleware, atuando com Balanceador de
> Carga de Consultas, Replicação Bidirecional? isso mesmo? Se cair um nó do
> meu cluster, e posteriormente ele ser levantado, os dados serão
> sincronizados?  Outrosim, ele é replicador Sincrono, com isso o PgPool além
> de ser Pool de Conexões, não necessitando toda hora abrir conexão com SDGD,
> as consultas são enviadas simultaneamente para todos os backends? E quanto
> as campos identificadores(PK), e os identificadores com valores automaticos
> ou controlados pelo SGBD (Serial), como é tratado? E quanto a Concorrência?
> Embora eu trate a concorrência a nivel de aplicação,por default o HIBERNATE
> adota a otimista, ou seja, ele não dá DEAD-LOCK nas tabelas seria isso mesmo
> né o conceito?  Outra coisa é quanto as soluções adotadas, com PgPool eu
> faço HA, LoadBalancing e Replicação entre os nós,. ou seja meus backends
> certo ou errado? e com HeartBeat ou BDB ou CARP eu faria HA entre os
> PgPools, visto que se eu tiver um PoolPool somente, teria ponto de falha
> dentro do meu cenário certo ou errado? provavelmente irei colocar os
> servidores web junto com os PgPools, porquanto o hibernate ira conectar no
> PgPool. Amigos sei que os Srs já passaram por tal situação, fiquem a
> avontade a dar sugestões.,

Todas as suas respostas estão em [1].
Esta pergunta foi feita semana passada aqui nesta lista, logo, você
não pesquisou como deveria. Veja como pesquisar na lista no rodapé.
Perguntar esse monstro de coisas sem ao menos dar uma pesquisada, não
é legal com os colegas.

[1] 
http://wiki.postgresql.org/wiki/Replication,_Clustering,_and_Connection_Pooling

Alta disponibilidade e alta performance exigem muito estudo por parte
do DBA e do desenvolvedor de uma aplicação.

[]s
Flavio Gurgel
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a