Какой лучший способ создать замок из веб-приложения?

У меня есть веб-приложение, которое повторно размещает изображения. Изображения повторного размера записываются на диск для их кэширования. Какой лучший способ предотвратить множественные, одновременные запросы от генерации того же изображения?

Пара вещей для замечения, у нас миллионы изображений (измеренные в терабайтах). Кэшированные изображения, которые не рассматривались во время удаления. У нас есть веб-ферма, но каждый веб-сервер имеет свой локальный кэш (оригиналы хранятся на другом сервере). Мы также размещаем изображения повторной размеры в кэш-памяти второго уровня, когда они будут сгенерированы, поэтому другие веб-серверы могут проверить, чтобы увидеть, кэшируется ли изображение, если оно копируется локальным.

Я рассмотрел использование замков (я разместил класс, который я рассматриваю, используя здесь ). Но это, очевидно, не будет работать с 2-го кешем кэш, и я не уверен, что это хорошая идея в целом на веб-сервере, чтобы использовать замки (хотя я не уверен, что просто куча расплывчатых ссылок на Это плохое представление).

Я также считал написание файла TEMP, который я мог бы проверить, прежде чем начать создавать изображение, но я обеспокоен тем, что Windows не будет правильно убирать файл 100% времени (проблемы блокировки и т. Д.).

Любые идеи ценятся.

8
задан Community 23 May 2017 в 12:25
поделиться