Alta disponibilidade para aplicação web: existe alguma forma trivial?

View: New views
4 Messages — Rating Filter:   Alert me  

Alta disponibilidade para aplicação web: existe alguma forma trivial?

by FkJ :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Bom dia,

Tenho uma aplicação web que é basicamente composta por formulários, porém existe um serviço de envio de email e outro de download de arquivos. Uso Seam + JBoss AS (o servidor fica na própria empresa).

Fazer o redeploy dessa aplicação tem sido um dilema...

Conforme postei anteriormente na lista, quanto a perda dos dados informados em formulários estou testando persistência da sessão. Funcionou localmente, tenho que ver em produção. O download de arquivos e envio de email continua crítico.

Pensei então em separar a aplicação em 3. Para isso precisaria que a atuenticação feita na aplicação principal fosse visível para as demais. Cheguei a ler sobre SSO, mas não encontrei nenhuma "receita de bolo" para o ambiente que uso. Gostaria de evitar o uso de cookies, ou o SSO no final das contas usa cookies?

Gostaria também que não ocorresse erro 404 caso o usuário tentasse acessar a aplicação durante o redeploy. Nesse caso seria mais interessante cluster do que separar em 3 aplicações?

Uma outra alternativa seria tentar agendar o redeploy para que ele ocorra durante a madrugada.

O que sugerem? Qual a forma mais simples de alcançar tal objetivo no ambiente mencionado acima?

Obrigado,
Felipe

Re: Alta disponibilidade para aplicação web: existe alguma forma trivial?

by Samuel Tauil :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Uma solução plausível seria vc usar jboss cache para manter os dados
no caso de failover, fazer um balanceamento de carga entre servidores
para aumentar a disponibilidade e programar o deploy para a madrugada,
usando algo como continuum ou luntbuild para gerar os builds e uma
tarefa no cron pra copiar os arquivos para a pasta deploy.


On 10/27/09, Felipe Jaekel <fkjaekel@...> wrote:

> Bom dia,
>
> Tenho uma aplicação web que é basicamente composta por formulários, porém
> existe um serviço de envio de email e outro de download de arquivos. Uso
> Seam + JBoss AS (o servidor fica na própria empresa).
>
> Fazer o redeploy dessa aplicação tem sido um dilema...
>
> Conforme postei anteriormente na lista, quanto a perda dos dados informados
> em formulários estou testando persistência da sessão. Funcionou localmente,
> tenho que ver em produção. O download de arquivos e envio de email continua
> crítico.
>
> Pensei então em separar a aplicação em 3. Para isso precisaria que a
> atuenticação feita na aplicação principal fosse visível para as demais.
> Cheguei a ler sobre SSO, mas não encontrei nenhuma "receita de bolo" para o
> ambiente que uso. Gostaria de evitar o uso de cookies, ou o SSO no final das
> contas usa cookies?
>
> Gostaria também que não ocorresse erro 404 caso o usuário tentasse acessar a
> aplicação durante o redeploy. Nesse caso seria mais interessante cluster do
> que separar em 3 aplicações?
>
> Uma outra alternativa seria tentar agendar o redeploy para que ele ocorra
> durante a madrugada.
>
> O que sugerem? Qual a forma mais simples de alcançar tal objetivo no
> ambiente mencionado acima?
>
> Obrigado,
> Felipe
>

---------------------------------------------------------------------
To unsubscribe, e-mail: enterprise-list-unsubscribe@...
For additional commands, e-mail: enterprise-list-help@...


RE: Alta disponibilidade para aplicação web: existe alguma forma trivial?

by Luiz SantAnna :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Some parts of this message have been removed. Learn more about Nabble's security policy.
Se vc nao precisa de fault tolerance, vc nao precisa de cluster, eh uma complexidade desnecessaria.

Uma solução bem simples que já utilizei em um cliente: coloque um apache com mod_jk fazendo balanceamento de carga entre dois "jbosses".. pode ser em maqs diferentes, na mesma maquina utilizando virtualização, ou bindings em interface de redes diferentes, ou até mesmo mudando apenas as portas (para isto, use o servicebinding do jboss).

Configure o mod_jk para usar sticky sessions. No mod_jk tem uma tela (jkstatus) que vc pode "desabilitar" um nó. Quando vc desabilita, as sessões ativas continuam usando o nó desabilitado, mas as novas não são + direcionadas para ele. daí vc vai monitorando a aplicação até que não haja nenhuma sessão ativa no nó original (ou espere uns 30 mins deve ser o suficiente).

Quando isto acontecer, faz o deploy nesta, e depois faz o caminho reverso: levante este nó e desabilite o outro. Quando o outro nó estiver sem nenhuma sessão, faça o deploy nele e depois é só habilitar novamente o nó.

É claro que se vc quer algo muuuito simples, agende o deploy pra madrugada.

abcs

LH.






Date: Tue, 27 Oct 2009 11:11:14 -0200
From: fkjaekel@...
To: javasf@...; enterprise-list@...
Subject: [enterprise-list] Alta disponibilidade para aplicação web: existe alguma forma trivial?

Bom dia,

Tenho uma aplicação web que é basicamente composta por formulários, porém existe um serviço de envio de email e outro de download de arquivos. Uso Seam + JBoss AS (o servidor fica na própria empresa).

Fazer o redeploy dessa aplicação tem sido um dilema...

Conforme postei anteriormente na lista, quanto a perda dos dados informados em formulários estou testando persistência da sessão. Funcionou localmente, tenho que ver em produção. O download de arquivos e envio de email continua crítico.

Pensei então em separar a aplicação em 3. Para isso precisaria que a atuenticação feita na aplicação principal fosse visível para as demais. Cheguei a ler sobre SSO, mas não encontrei nenhuma "receita de bolo" para o ambiente que uso. Gostaria de evitar o uso de cookies, ou o SSO no final das contas usa cookies?

Gostaria também que não ocorresse erro 404 caso o usuário tentasse acessar a aplicação durante o redeploy. Nesse caso seria mais interessante cluster do que separar em 3 aplicações?

Uma outra alternativa seria tentar agendar o redeploy para que ele ocorra durante a madrugada.

O que sugerem? Qual a forma mais simples de alcançar tal objetivo no ambiente mencionado acima?

Obrigado,
Felipe


Com o Novo Internet Explorer 8 suas abas se organizam por cor. Baixe agora, é grátis!

Re: Alta disponibilidade para aplicação web: existe alguma forma trivial?

by Julio Viegas :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Tem que usar um balanceador um pouco mais esperto na frente dos app servers.

Olha essa thread aqui:
http://www.nabble.com/-cejug-discussao--Redeploy-de-aplica%C3%A7%C3%A3o-sem-reiniciar-ou-suspender-Tomcat-td25805068.html#a25805284

Abs,
JV -- julioviegas.com



2009/10/27 Luiz Santanna <luizsantanna@...>:

> Se vc nao precisa de fault tolerance, vc nao precisa de cluster, eh uma
> complexidade desnecessaria.
>
> Uma solução bem simples que já utilizei em um cliente: coloque um apache com
> mod_jk fazendo balanceamento de carga entre dois "jbosses".. pode ser em
> maqs diferentes, na mesma maquina utilizando virtualização, ou bindings em
> interface de redes diferentes, ou até mesmo mudando apenas as portas (para
> isto, use o servicebinding do jboss).
>
> Configure o mod_jk para usar sticky sessions. No mod_jk tem uma tela
> (jkstatus) que vc pode "desabilitar" um nó. Quando vc desabilita, as sessões
> ativas continuam usando o nó desabilitado, mas as novas não são +
> direcionadas para ele. daí vc vai monitorando a aplicação até que não haja
> nenhuma sessão ativa no nó original (ou espere uns 30 mins deve ser o
> suficiente).
>
> Quando isto acontecer, faz o deploy nesta, e depois faz o caminho reverso:
> levante este nó e desabilite o outro. Quando o outro nó estiver sem nenhuma
> sessão, faça o deploy nele e depois é só habilitar novamente o nó.
>
> É claro que se vc quer algo muuuito simples, agende o deploy pra madrugada.
>
> abcs
>
> LH.
>
>
>
>
>
> ________________________________
> Date: Tue, 27 Oct 2009 11:11:14 -0200
> From: fkjaekel@...
> To: javasf@...; enterprise-list@...
> Subject: [enterprise-list] Alta disponibilidade para aplicação web: existe
> alguma forma trivial?
>
> Bom dia,
>
> Tenho uma aplicação web que é basicamente composta por formulários, porém
> existe um serviço de envio de email e outro de download de arquivos. Uso
> Seam + JBoss AS (o servidor fica na própria empresa).
>
> Fazer o redeploy dessa aplicação tem sido um dilema...
>
> Conforme postei anteriormente na lista, quanto a perda dos dados informados
> em formulários estou testando persistência da sessão. Funcionou localmente,
> tenho que ver em produção. O download de arquivos e envio de email continua
> crítico.
>
> Pensei então em separar a aplicação em 3. Para isso precisaria que a
> atuenticação feita na aplicação principal fosse visível para as demais.
> Cheguei a ler sobre SSO, mas não encontrei nenhuma "receita de bolo" para o
> ambiente que uso. Gostaria de evitar o uso de cookies, ou o SSO no final das
> contas usa cookies?
>
> Gostaria também que não ocorresse erro 404 caso o usuário tentasse acessar a
> aplicação durante o redeploy. Nesse caso seria mais interessante cluster do
> que separar em 3 aplicações?
>
> Uma outra alternativa seria tentar agendar o redeploy para que ele ocorra
> durante a madrugada.
>
> O que sugerem? Qual a forma mais simples de alcançar tal objetivo no
> ambiente mencionado acima?
>
> Obrigado,
> Felipe
>
> ________________________________
> Com o Novo Internet Explorer 8 suas abas se organizam por cor. Baixe agora,
> é grátis!

---------------------------------------------------------------------
To unsubscribe, e-mail: enterprise-list-unsubscribe@...
For additional commands, e-mail: enterprise-list-help@...