Balanceamento de carga de rede - mesmo servidor Dois sites

1

Tivemos que criar uma solução no trabalho para fazer lançamentos diurnos de nosso aplicativo de intranet, mantendo 100% de tempo de atividade. Isso ocorre porque fazemos builds durante o dia com correções de bugs de alta prioridade que precisam sair no mesmo dia.

Uma opção sugerida para mim estava usando o balanceamento de carga de rede com dois sites no mesmo servidor, que é realmente uma ótima solução para as nossas necessidades (não podemos pagar por outro servidor com o mesmo hardware, eles são £ 5k + para nossa configuração).

Então, dei uma olhada no artigo onde ele afirma o seguinte :

For session state to be maintained across different web servers in the web farm, the application path of the website (for example. \LM\W3SVC) in the IIS metabase should be identical in all the webservers in the web farm.

Este é um problema, pois os caminhos do aplicativo terão para serem diferentes se o mesmo site tiver NLB no mesmo servidor. Nós precisamos para manter o estado da sessão nos dois sites (ao contrário dos servidores da Web), caso contrário, seremos inundados com chamadas de usuários irritados.

Então, podemos configurar dois sites, em um servidor que usa NLB e pode manter todo o estado? Os sites são idênticos, a propósito, apenas um será mais recente para correções de bugs.

EDIT (RESOLVIDO)

Então, seguindo isso, eu tive uma busca para encontrar este artigo . Ele descreve problemas relacionados ao uso da opção SQLServer em sessionState em seu web.config. Funciona muito bem, exceto por uma coisa; os dados da sessão não estão mais sendo armazenados, o que quebra toda a segurança para nós. Em Session_Start do meu arquivo Global.asax, eu tenho um código de chamada DB que define os dados da sessão que são usados em todo o site da intranet para acesso rápido aos detalhes do usuário.

<sessionState mode="SQLServer" sqlConnectionString="Data Source=localhost;Integrated Security=True" />

É por causa dos problemas de acesso ao banco de dados ou por causa do sessionState ?

EDIT EDIT

Ok, achei que não tinha reiniciado o serviço da web depois de brincar com a autenticação que causou a quebra. Portanto, a última coisa que preciso saber é alternar entre os sites enquanto estou apontando para o mesmo local. Então digamos que temos um URL do link que apontou para o "CompanyIntranet1" e também tivemos um site de "CompanyIntranet2" no IIS, como obteríamos < um link href="http: // minhaempresa /"> para apontar para "CompanyIntranet2"?

    
por Kezzer 12.10.2009 / 12:40

2 respostas

1

O balanceamento de carga não é provavelmente a melhor solução. Com o estado da sessão no SQL Server com esta modificação , você pode compartilhar a sessão entre os aplicativos. Em seguida, você pode criar um site no IIS com duas pastas de aplicativos. Com o simples HttpModule você pode alternar entre eles como quiser.

    
por 12.10.2009 / 13:37
1

Já pensou em executar os sites em máquinas virtuais no mesmo servidor? Isso significa que os sites não podem interferir uns com os outros, o balanceamento de carga e o estado compartilhado podem funcionar de maneira mais padronizada e, se você conseguir um orçamento para executar duas máquinas, será fácil movê-lo para outro servidor físico.

    
por 12.10.2009 / 14:00

Tags