Image Processor no caminho da requisição da aplicação
Trace como uma requisição de imagem passa por Rules Engine, Image Processor e Cache até chegar ao usuário.
Servir uma imagem no tamanho e formato originais custa tempo de carregamento e armazenamento. Todo dispositivo recebe o mesmo arquivo independentemente do tamanho da tela, e todo tamanho ou formato que uma aplicação precisa deve ser produzido e armazenado com antecedência.
Image Processor remove essa necessidade. Uma requisição de imagem pode carregar uma query string que descreve uma transformação. A transformação pode redimensionar ou recortar a imagem, converter o formato dela ou aplicar um filtro como uma marca d’água. Image Processor retorna uma imagem derivada, construída a partir de uma única imagem de origem, na origem. A imagem de origem nunca é modificada, e a imagem derivada nunca é armazenada como um asset separado.
Diagrama de arquitetura
O diagrama traça uma requisição a partir do domínio configurado para a aplicação, passando pelas duas fases do Rules Engine, até a entrega. Entre as fases, Image Processor deriva a imagem quando nenhuma cache key já contém uma, e a infraestrutura distribuída da Azion armazena o resultado em cache para a próxima requisição correspondente.
Fluxo de dados
- Um usuário requisita uma imagem através do domínio associado à aplicação.
- A Request Phase do Rules Engine processa a requisição. O behavior Optimize Images ativa Image Processor, e um behavior Set Cache Policy aplica o cache setting configurado para arquivos de imagem.
- Cache determina se já existe uma key para o objeto derivado. Em uma correspondência, a Azion entrega o objeto em cache diretamente, e Image Processor não é executado: uma imagem servida a partir do cache sem processamento não conta contra o medidor de Images.
- Em uma falta de cache, a imagem de origem é lida a partir da origem, Image Processor aplica a transformação solicitada, e quaisquer Functions configuradas são executadas. A Azion armazena o resultado em cache e adiciona uma cache key ao header de resposta
X-Cache-Key. - O objeto retorna à camada de aplicação, onde a Response Phase do Rules Engine impõe quaisquer políticas configuradas para objetos retornados da origem.
- A Azion entrega o conteúdo ao usuário.
Componentes
- Applications mantém a configuração de entrega e cache de uma requisição, e é o recurso da plataforma ao qual Image Processor, Cache e Rules Engine pertencem como módulos.
- Rules Engine avalia a requisição em relação aos critérios configurados e aplica behaviors por fase. Neste caminho, o behavior Optimize Images ativa Image Processor, e um behavior Set Cache Policy aplica o cache setting para arquivos de imagem.
- Image Processor lê a query string
imsde uma requisição e retorna uma imagem derivada construída a partir da imagem de origem, na origem, sem modificar a imagem de origem nem armazenar a imagem derivada como um asset separado. - Cache armazena a imagem derivada após a primeira requisição, indexada por uma key que inclui a query string
ims, então uma requisição correspondente posterior ignora Image Processor e a origem. - Workloads registra o domínio que recebe a requisição e a roteia até a aplicação.
Implementação
- Primeiros passos com Applications - crie a aplicação sobre a qual Rules Engine e Image Processor operam, usando Azion Console, Azion API ou Azion CLI.
- Template Image Optimization - implante uma aplicação pré-configurada com Image Processor ativado.
- Configurar um domínio - registre o domínio que recebe as requisições para a aplicação.
- Migre seus nameservers para a Azion - aponte o domínio para a Azion para que as requisições alcancem a aplicação.
- Configure políticas de cache - crie um cache setting para arquivos de imagem, com um TTL longo.
- Cache Settings - a referência de campos para o teto de TTL que um cache setting aceita.
- Crie regras de requisição e resposta - adicione uma regra que aplica o behavior Optimize Images e um behavior Set Cache Policy às requisições de imagem.
- Parâmetros de URL do Image Processor - a sintaxe da query string
imsque solicita uma transformação. - Real-Time Metrics - acompanhe o tráfego de imagens e a economia de banda depois do deploy.