Por que / Quando ter um servidor de mídia separado para imagens, mp3s, flvs etc?

1

Eu trabalhei em alguns sites onde eles têm dois servidores: um dedicado para servir páginas web php, e outro dedicado para servir mídia, como imagens, flvs, mp3s etc .. Quando você faz uma visualização da fonte de uma página em link , você verá código como (img src="http://images.mysite.com/helloworld.jpg")onde é um servidor físico diferente do www.mysite.com.

Digamos que eu tenha que recriar um site existente que atualmente não tenha mídia e servidor da web separados. O site existente é uma má tentativa de fazer youtube. O site existente é razoavelmente popular com 2.000 visitantes UV por dia e tem transferência mensal de 250 GB. Ao recriar o site, devo planejar um servidor de mídia separado? Devo planejar ter dois servidores front-end com balanceamento de carga? Ou este é um cenário "construa como você precisa"?

    
por John 06.12.2009 / 00:01

3 respostas

7

(Eu estava prestes a enviar a resposta no stakoverflow quando você o moveu para ServerFault :-)).

A idéia básica é que você deseja ter diferentes servidores otimizados para fazer uma coisa muito bem. Ou seja Se você tiver um servidor de aplicativos executando código / estado de armazenamento, etc, você deseja otimizar seu hardware para essa finalidade - ou seja, boa CPU e muita memória.

Por outro lado, você não quer que seu servidor também use seus recursos para coisas mundanas como armazenar arquivos. Você pode ter outro servidor (de mídia) que tenha apenas um servidor mais simples que serve arquivos estáticos e que tenha um enorme canal de rede conectado a ele (já que é provável.

Isso também permite que você dimensione melhor - você pode dimensionar seus servidores de aplicativos, ou seja, as peças caras computacionalmente, separadamente de suas partes estúpidas (as partes que veiculam conteúdo). Dessa forma, por exemplo, se você tiver o mesmo número de usuários que, de repente, começar a gastar mais tempo em seu site e assistir vídeos mais longos, poderá aumentar o número de servidores de mídia sem precisar se preocupar com seus servidores de aplicativos.

Então, para lhe dar conselhos, sugiro que você dê uma olhada em sua infraestrutura, em seus prazos e no quanto você espera que seu site cresça. Se você acha que vai crescer por um fator de 10 ou 100, então pode valer a pena pensar em longo prazo, caso em que ter um serviço dedicado será uma boa ideia. Descubra como será difícil alcançá-lo e se você pode dar pequenos passos em direção a ele (ou seja, verifique se todas as mídias estão em uma pasta separada e se todos os seus links são programáticos - isto é, facilmente reposicionados em outro servidor etc.).

    
por 06.12.2009 / 00:06
1

No seu caso (um clone do youtube em que você veicula conteúdo fornecido pelo usuário), o motivo mais convincente pode estar atenuando os vários problemas de política de segurança entre domínios do Flash. Se não estiver usando um servidor físico separado para sua mídia, considere a possibilidade de veicular sua mídia a partir de um domínio separado. Veja isso para explicações, incluindo como alguém pode explorar isso na prática:

Aqui está uma história relevante sobre o Facebook e o MySpace:

por 06.12.2009 / 05:52
1

Eu não sou bom nessas coisas, mas eu verifiquei meses atrás quando planejei meu site (ainda em desenvolvimento). Pelo que eu lembro que você quer porque

  • Você só pode ter duas conexões para um domínio. Ter um subdomínio permite mais conexões porque são sites "diferentes". Uma conexão é para a página principal e a outra é para XMLHttpRequest

  • Servidores especializados. Você pode ter um servidor que possa conter TODA sua mídia, outro que processa ou manipula tudo o que envolve um banco de dados. Ao usar um domínio diferente, você pode apontar para um servidor especializado se você quiser

  • Otimização. Você não precisa disso a menos que tenha muitos acessos. Se o seu site tiver cookies, um navegador o enviará sempre que solicitar uma página. Se você tivesse que carregar milhares de imagens em uma ou duas páginas, o navegador enviaria os cookies toda hora (se é pequeno, provavelmente não importa. Mas alguns sites têm cookies GRANDES). Usar outro domínio sem cookies pode acelerar isso.

por 06.12.2009 / 06:19