Eu encontrei um módulo Apache de código aberto chamado mod_dims . Ele se encaixa na maioria das minhas necessidades e é bastante rápido.
Estou investigando quais produtos existem por aí que permitirão que você solicite imagens por meio de uma API HTTP em tamanhos de imagem arbitrários. O servidor ficaria atrás de um CDN, mas ainda precisaria ser capaz de lidar com um bom tráfego e possivelmente ter um balanceamento de carga.
Recebi a tarefa de escrever um serviço desse tipo, mas queria fazer algumas diligências para ver quais soluções comerciais ou de código aberto estavam disponíveis. O Google não foi particularmente útil. Pode ser porque eu tenho procurado o termo errado.
Sites e serviços de terceiros estão fora de questão por causa das políticas corporativas.
Eu encontrei um módulo Apache de código aberto chamado mod_dims . Ele se encaixa na maioria das minhas necessidades e é bastante rápido.
Você pode usar o ImageMagick com php / perl / python. Isso permitirá que você redimensione a imagem. O único problema aqui é que você deseja armazenar a imagem em cache, de preferência.
Para tornar o cache de imagem amigável, você teria que redirecionar para um URL exclusivo e manter o estado do URL para cada chamada de redirecionamento.
exemplo.
link que faz o redimensionamento de example.jpg. Para isso, o cache image.php pode retornar um redirecionamento de url. link
Para o segundo URL, certifique-se de ter os cabeçalhos de expiração corretos definidos para que o CDN possa armazená-lo em cache. Mas você também precisa manter o mapeamento do link para link
porque a cada pedido dessa imagem, o script image.php será chamado.
Para sincronização de dados em um cenário com balanceamento de carga, você tem um compartilhamento nfs ou usa rsync se um atraso de alguns segundos for aceitável ou usar o upload de arquivo via API (claro que o proteja) para sincronizar dados entre os servidores backend.
Por tamanhos, você quer dizer tamanhos de arquivo ou altura / largura da imagem?
Eles podem não necessariamente permitir tamanhos "arbitrários", mas proxies que reduzem a largura de banda (também conhecidos como "aceleradores") recompactam arquivos de imagem para reduzi-los, entre outros truques que economizam largura de banda. Wikipedia tem uma página sobre eles com uma lista de opções .
Se quiser redimensionar as imagens na hora, é basicamente isso que um script em miniatura faz. Muitos deles são executados com antecedência, mas há outros que estão "on the fly". Por exemplo, o módulo Imager da CPAN tem um exemplo de script CGI que escala uma imagem enviada para 200x200.