В основном мы используем рекомендуемую облачную архитектуру, где исходные изображения хранятся в хранилище BLOB-объектов Azure, Imageresizer работает в службе приложений Azure, а Azure CDN - это уровень CDN.
Тем не менее у нас возникла проблема с ImageResizer v3, слоты развертывания службы приложений Azure и DiskCache.
Мы используем промежуточный слот в нашей службе приложений Azure, чтобы предотвратить прерывания. Мы также используем плагин DiskCache. Без какой-либо конфигурации imagecache записывается в D: \ home \ site \ wwwroot \ imagecache \, который зависит от слота.
Это порождает две проблемы:
- Когда мы меняем местами слоты, используемый кеш изображений устарел, и многие изображения будут отсутствовать.
- У нас всегда есть устаревший кэш изображений, занимающий дисковое пространство в нашем плане обслуживания приложений, наш консультант в Microsoft рекомендовал использовать хранилище BLOB-объектов вместо виртуальной локальной файловой системы для DiskCache.
Я заметил, что нет BlobCachePlugin или S3CachePlugin, и мне было интересно, есть ли для этого веская причина.
Мои вопросы:
- Есть ли причина не хранить кэш изображений в хранилище BLOB-объектов Azure с помощью настраиваемого плагина BlobStorageCachePlugin, реализующего интерфейс ICache?
- Если есть веская причина, какую альтернативную архитектуру вы посоветуете, чтобы избежать проблем со слотами развертывания?