Наше веб-приложение развернуто на веб-ферме (более 20 серверов). У сайта огромная посещаемость (миллионы просмотров страниц в день). В первом выпуске это приложение использует CacheManager EntLib (кэширование блоков приложения Entreprise). Мы называем это «кешем локального сервера». Есть много преимуществ, но у нас все еще есть серьезный недостаток: каждый сервер управляет своим собственным кешем и доступом к базе данных (не распределенным).
Вот почему мы пытаемся реализовать функцию кэширования AppFabric, чтобы уменьшить количество циклов обработки базы данных. Одна из основных наших проблем - синхронизация данных:
- с GetAndLock / PutAndUnLock (также известный как распределенная блокировка) время отклика страницы сильно влияет
- с Get / Put + простая блокировка на стороне сервера у нас так много запросов с локальным кешем; никаких преимуществ.
Так что же такое стратегии кеширования для крупномасштабных веб-сайтов?
Спасибо,