Я читал о том, чтобы вытащить и протолкнуть CDN. Я использовал Cloudfront как выталкивающий CDN для измененных изображений:
- Получить изображение с клиента
- Поместите изображение в S3
В дальнейшем, когда клиент делает запрос на облачный интерфейс для URL-адреса, Cloudfront не имеет изображения, поэтому он должен перенаправить его на мой сервер, который:
- Получить запрос
- Потяните изображение с S3
- Изменить размер изображения
- Нажать изображение обратно в Cloudfront
Однако это занимает несколько секунд, что очень раздражает, когда вы загружаете свое прекрасное изображение и хотите его увидеть. Задержка, по-видимому, в основном - это время загрузки/повторной загрузки, а не изменение размера, что довольно быстро.
Можно ли активно продвигать измененное изображение в Cloudfront и привязывать его к URL-адресу, чтобы будущие запросы могли сразу получить подготовленное изображение? В идеале я хотел бы
- Получить изображение с клиента
- Поместите изображение в S3
- Изменить размер изображения для обычных размеров
- Предварительно надавить эти размеры на облачный
Это позволяет избежать всего цикла загрузки/повторной загрузки, что делает общие размеры очень быстрыми, но доступ к менее распространенным размерам (хотя и с задержкой в первый раз). Однако для этого мне нужно будет подтолкнуть изображения до Cloudfront. Это:
http://www.whoishostingthis.com/blog/2010/06/30/cdns-push-vs-pull/
похоже, что это можно сделать, но все остальное, что я видел, не упоминает об этом. Мой вопрос: возможно ли это? Или есть ли другие решения этой проблемы, которые мне не хватает?