escalabilidade: quando usar o CDN?

4

Li sobre o CDN, mas não sei exatamente para que serve.

digamos que eu tenho uma rede social internacional (conteúdo de texto e imagem), e está crescendo em tráfego de diferentes países, eu uso CDN?

a imagem que obtive das fontes que li é que copia o seu conteúdo e coloca-o em muitos servidores espalhados pelo mundo, para que os utilizadores o obtenham a partir do ponto mais próximo.

isso significa que todo servidor tem uma cópia do meu banco de dados mysql e dos arquivos de imagem?

essa é a maneira correta de disponibilizar seu serviço da web para o mundo? Porque como você poderia configurar servidores em todo o mundo, contatando empresas de hospedagem para cada país?

    
por ajsie 05.04.2010 / 14:00

1 resposta

4

Uma Content Delivery Network é geralmente usada para mídia estática. Alguns CDNs são Push e alguns são Pull, o que significa que você tem que enviar conteúdo para seus servidores e replicá-lo entre sua própria rede de servidores ou eles puxam de seu site com um mapa que informa a eles que cdn.domain.com - & gt ; yourdomain.com/media/. As solicitações de mídia estática são fornecidas pelo CDN e retiradas da origem (seu servidor), se não estiverem lá.

Um pull CDN também pode armazenar em cache a origem (páginas dinâmicas também) mantendo alguma funcionalidade do seu site ativa se o servidor de origem ficar inativo. No entanto, para um site muito interativo, isso não será muito útil. Um site de notícias que atende dados antigos de 5 minutos é capaz de utilizar um CDN para armazenar um pouco melhor a origem do que um site de mídia social, em que as atualizações de status que demoram 5 minutos para exibir podem fazer ou quebrar você.

Um CDN é geralmente um cache e contém muito pouca inteligência em sua borda. Essas são máquinas configuradas estritamente para armazenar em cache o conteúdo e atendê-lo rapidamente. Embora a Akamai ofereça suporte ao Edge Side Includes, fazer com que eles realmente funcionem é caro e um pouco difícil. O conteúdo estático é geralmente o que os CDNs armazenam em cache.

Sua funcionalidade de dados do mysql e site de origem ainda existe em um só lugar, mas seu conteúdo estático e possivelmente suas páginas armazenadas em cache seriam atendidas pelo CDN. Para executar seu site em vários locais, você precisaria executar vários servidores com um 'diretor' que enviaria os usuários ao servidor mais próximo. Você pode fazer isso com nomes de host, DNS Anycast ou uma caixa de direcionador. Você ainda precisaria executar vários servidores LAMP em vários datacenters. Há provedores de hospedagem que podem manipular implantações de vários locais e você ainda pode usar um CDN para descarregar seu conteúdo estático.

    
por 05.04.2010 / 18:07