Desenho de aplicativo da Web no caso de várias sub-aplicações

2

Atualmente estou em um estágio inicial de design para um aplicativo da Web de grande escala que será definitivamente hospedado em um grande farm de servidores da web. Agora, estou tentando decidir se quero que o site inteiro seja um site www.site.com e coloque sub-aplicativos em pastas, como www.site.com/blogs, www.site.com/messages, etc. ou se eu quero tê-los como subdomínios, por exemplo blogs.site.com, messages.site.com etc. O maior conflito contra subdomínios é o uso intensivo de ajax e não é compatível com chamadas de domínio cruzado, por exemplo, Não posso chamar um serviço da Web hospedado em www.site.com a partir de uma página hospedada em blogs.site.com - o navegador emitirá uma exceção de permissões. O maior engodo contra ter tudo sob o site www.site.com é que eu não vejo uma maneira de dedicar as web farms a sub-apps específicos. Como se eu quisesse que um farm fosse dedicado ao aplicativo de blogs, então é fácil no caso de usar subdomínios, mas como faço isso se tudo estiver em www?

Provavelmente estou com pouco conhecimento sobre a parte de rede da configuração da web farm, portanto, quaisquer comentários / ideias serão bem-vindos e muito apreciados!

O ambiente é o Windows 2008 e o ASP.NET 3.5

Obrigado! Andrey

    
por Andrey 02.11.2009 / 19:47

2 respostas

1

Embora seja mais fácil dividir solicitações em vários clusters quando você usa subdomínios, bons proxies reversos como haproxy e verniz são mais do que capazes de inspecionar a URL e decidir para onde enviar as solicitações. Além disso, você considerou não especializar servidores na camada de serviço da Web e permitir que todas as máquinas do servidor da Web manipulassem qualquer solicitação que recebesse? Isso evita o embaraçoso problema de julgar erroneamente sua distribuição de capacidade e ter que entrar em pânico em alguns servidores de um cluster para outro quando a carga muda de repente.

Você ainda pode se especializar em seu back-end se quiser - os bancos de dados de cluster são muito mais difíceis do que os servidores de cluster, afinal de contas - mas você tem a inteligência do seu aplicativo da Web à sua disposição para decidir onde faça os pedidos de back-end para.

    
por 02.11.2009 / 20:06
1

Você não mencionou a plataforma, mas, por exemplo, com o IIS7 ARR , você pode direcionar chamadas para diferentes servidores com base em um número de critérios como detalhes minúsculos do URL, mime / tipos de arquivo e o que não é assim, eu diria que qualquer produto de balanceamento de carga decente ficaria mais do que feliz em resolver isso sem subdomínios ^^

    
por 02.11.2009 / 19:54