Estou planejando lançar um aplicativo iOS que baixa vídeos do meu servidor. Se centenas de pessoas no dia do lançamento tentarem fazer isso, meu site e os serviços que meu servidor fornece cairão claramente. Como você hospeda um site em vários servidores? Quando alguém tenta acessar meu site, como a solicitação é passada para um servidor disponível? Como a Apple e o Google fazem isso? Obrigado pela ajuda.
10
Respostas:
Bem como para os grandes (Google, Apple, etc.), eles têm hardware sofisticado e caro para o tráfego de rotas.
Uma solução mais simples seria configurar seus vários hosts e ter um único host que gire as solicitações.
Digamos que tenhamos 5 servidores para hospedar o vídeo, chamado VideoHostN e que tenhamos um único servidor separado daqueles que controlam o uso do nome RoutingHost.
O primeiro cliente iOS solicita o endereço para obter o vídeo do RoutingHost. RoutingHost retorna o endereço no VideoHost1.
Segunda solicitação de cliente iOS. RoutingHost responde com VideoHost2.
Assim, até atingir nosso máximo hipotético, VideoHost5, e redefinir para VideoHost1.
Só precisa de um código simples do lado do servidor para acompanhar qual VideoHost usar a seguir e retornar o endereço para ele.
É uma maneira fácil e barata de espalhar os usuários. Isso não garante que alguns usuários não fiquem entupidos em nenhum VideoHost. É uma chance aleatória que vários usuários com conexões lentas acabem puxando do mesmo local, mas é um começo.
fonte
Você pode fazer o balanceamento de carga conforme o link do @ PeeHaa para o artigo da Wikipedia para obter informações aqui . Isso requer algum conhecimento, dinheiro e tempo para a instalação. Grandes empresas como Google e Apple usam a tecnologia que escreveram para si mesmas e tentar imitá-las é uma solução cara e um exagero. Se você faz o balanceamento de carga, deseja usar algo muito menor do que o que eles fazem.
Ou você pode usar servidores em nuvem para hospedar seus vídeos ou outro conteúdo. Eles são chamados de redes de distribuição de conteúdo (CDNS) e podem fazer muito mais do que simples hospedagem de arquivos agora. O benefício desses sites é que eles usam tecnologia como a que o Google criou para criar balanceamento de carga e vendem o serviço com base exatamente na quantidade de dados ou ciclos que você consome em seus servidores. Isso significa que seu custo aumentará na mesma proporção que você usa, desde que você tenha um bom modelo de receita e sempre terá fundos para pagar pelo serviço. Algumas grandes empresas para usuários menores são:
Eles são muito mais do que esses três. Além disso, o outro benefício da CDN é que o conteúdo não está em um servidor, mas em uma rede em todo o mundo. As CDNs fazem isso para que o conteúdo sempre venha do servidor mais próximo do usuário. Configurar mais de 2 servidores em um local nunca oferece os mesmos benefícios de velocidade de entrega que uma CDN pode.
Para constar, eu não trabalho para nenhuma dessas empresas. Eu usei o Web Services da Amazon para hospedagem de vídeo no site da minha empresa e isso tem sido um grande benefício.
fonte
Eu usaria o Scalr no ec2 para monitorar seus servidores automaticamente, é de código aberto e funciona muito bem com os serviços da AWS. Portanto, se seu servidor de aplicativos começar a ser atropelado com muito tráfego, o Scalr abrirá automaticamente mais servidores e equilibrará a carga para você. Ele também fará backup automático de seus bancos de dados se alguém desabilitar os escravos como mestres. Portanto, seus servidores de aplicativos e servidores de banco de dados são todos monitorados e dimensionados conforme necessário.
http://code.google.com/p/scalr/
fonte
Um software gratuito para balanceador de carga, como ZenLoader , faria o truque. É um software de código aberto, você paga apenas se precisar de suporte.
Ouvi dizer que ele cobrirá seus requisitos se você já comprou os servidores.
fonte