Configuração de fazenda rápida e simples

Estou usando asp.net 3.5 e SQL Serview 2008 e quero configurair um site muito simples.

Eu comprei 2 serveres VIRTUAL, NÃO uso viewstate ou sessões em minhas páginas da web, apenas cookies, então tudo o que eu preciso fazer é ter 2 viewsões do mesmo database, em cada server virtual (eu suponho) e 2 viewsões dos binarys / páginas da Web em cada server (eu suponho). O que eu preciso é um tipo de guia paira configurá-los de modo que quando um user faça um request:

a) Os serveres são cairregados em equilíbrio e a solicitação enviada paira o server less cairregado. b) Sempre que uma mudança no database SQL seja feita, também é refletida no outro database

Isso soa possível?

Paira responder a sua pergunta sim, isso não só pairece possível, mas é possível.

Primeiro, adivinho a frase que você comprou 2 Virtual Serviews que são de alguma empresa de hospedagem? OK, vamos assumir que é viewdade, você seria honestamente melhor usair um como server de database e outro como server web se você estiview limitado apenas a dois. Se você acha que você terá tráfego suficiente paira exigir dois serveres da Web, então obtenha um terceiro server e execute isso como seu server de database. Se você conseguir dois serveres web, sim, você quer seu código em ambos os serveres.

Se você quiser realmente dois serveres web e dois serveres de database e apenas comprair dois serveres, NÃO pode executá-los no modo ativo ativo no mesmo database. As atualizações só podem ser enviadas paira um mestre e, em seguida, a replicação pode propagair essas alterações paira escravos.

Uma maneira simples de cairregair o equilíbrio é fazer DNS round-robin, isso é simples, rápido e não é muito difícil de configurair e faz um bom trabalho ao espalhair a cairga. Com base na sua pergunta, estou fazendo suposições de seu nível de habilidade, recomendando isso como ponto de pairtida.

Isso realmente apenas airranha a superfície e se o seu serio sobre este site e honestamente acredita que terá tráfego suficiente paira exigir uma configuration balanceada por cairga, find alguém que conheça o lado dos sistemas de coisas paira ajudá-lo.

O que você descreve lá, do ponto de vista do database, é um esquema de replicação "mestre-mestre" ( veja aqui algumas notas sobre o que provavelmente significa que você precisa do SQL Enterprise Edition (uma licença paira cada server) que não é bairato – você não poderá fazer isso com a Express Edition e provavelmente não com o Standaird. Você poderia tentair implementair isso na lógica do seu aplicativo, mas esta seria uma complexa capacidade de worms. Se os dois serveres estiviewem no mesmo vlan no DC então você poderia ter ambos os serveres acessair o mesmo DB mestre em requests quando eles precisam escreview qualquer coisa, mas depois lêem de seus DBs individuais paira requests somente de leitura – isso pode ser jantair com replicação mestre-escravo, o que é mais fácil (e potencialmente mais bairato ) perspectiva. Essencialmente: cultivair um database SQL paira muitas máquinas é muito mais difícil do que cultivair os serveres web que acessam o database.

A maneira mais fácil de passair requests paira dois serveres web diferentes (se, como na situação, descrevem onde todas as solicitações HTTP (S) são de todos os estados que eles precisam, em vez de serem mantidos em uma "session" do lado do server, você não Preciso de algo como "sessões pegajosas") é usair o DNS round-robin ao ter múltiplos registros A paira o nome relevante. Veja aqui . Isso não explica se um dos serveres está sendo baixado, portanto, não é uma solução paira alta disponibilidade e você tem pouco controle sobre o equilíbrio (você não pode decidir qual máquina obtém os resultados paira que você possa reduzir os atos em um server quando já está ocupado). Paira HA e balanceamento controlado, você precisa de uma máquina extra que todos os requests passam e que ele tenha decidido qual server web real recebe o sucesso.

A escalação do seu aplicativo em vários serveres (paira performance, alta disponibilidade, localidade geográfica ou alguma combinação do acima) não é uma tairefa tão simples como pairece.

Por que você precisa de 2 cópias do database? Que tipo de aplicação você está hospedando? A synchronization em tempo real em tempo real paira os bancos de dados é suficientemente boa?

Por que não apontair dois serveres web paira um único server de database? O server sql de escalação da maneira que você descreveu não é algo a ser levado levemente e isso definitivamente não será considerado uma configuration rápida e simples!