Como dimensionar a hospedagem/servição de imagens?

Como dimensionar a hospedagem/servição de imagens?

Eu fiz essa pergunta emfluxo de pilhae foi sugerido que eu tentasse aqui:

Estou construindo um site onde os usuários podem fazer upload de fotos e também converter fotos enviadas em miniaturas.

Planejando com antecedência, se o site se tornar popular, como posso escaloná-lo para que as imagens (originais e miniaturas) sejam armazenadas e veiculadas em vários servidores? Talvez um aglomerado? Existe algum software de código aberto que possa me ajudar nisso?

Obrigado.

Responder1

A coisa mais fácil que você pode fazer para ter boas opções posteriormente é escrever seu software de tal forma que as imagens nunca possam manter o mesmo nome de arquivo quando modificadas - uma alteração em uma imagem deve sempre alterar o nome do arquivo. Isso significa que você pode definir tempos de vida de cache muito longos, por meio de seus próprios caches ou de uma rede de entrega de conteúdo, o que reduzirá bastante o número de leituras de disco necessárias. (Você pode precisar de algum mecanismo para liberar imediatamente um arquivo específico do cache ou CDN, se houver circunstâncias em que uma imagemtemser excluído completamente.)

Para permitir o dimensionamento horizontal, divida as imagens em um grande número de grupos (100 ou mais) e prefixe o caminho de cada imagem com o grupo em que ela está. Você pode servir todos os grupos no mesmo servidor agora, mas posteriormente Até o momento, será bastante fácil usar um balanceador de carga para direcionar o tráfego para diferentes servidores com base no grupo de imagens. Eu não usaria um sistema de arquivos em cluster para imagens, porque adiciona uma camada extra de complexidade e provavelmente é mais fácil usar vários servidores e algumas regras de balanceador de carga para distribuir a carga.

informação relacionada