Расширение кэша данных ASP.NET для совместного использования через веб-ферму - PullRequest
6 голосов
/ 29 октября 2009

У меня есть приложение ASP.NET, которое широко использует API-интерфейс кэширования ASP.NET для кэширования часто используемых данных. Кроме того, я использую основанную на опросе зависимость кэша sql для отслеживания срока действия.

Недостаток текущего проекта заключается в том, что в среде веб-фермы каждый веб-сервер имеет свой собственный кэш данных, который не распределяется между серверами.

Можно ли просто перенести код для совместного использования кэша данных на нескольких серверах?

Я думал об использовании memcached, однако, это не будет работать с зависимостью кеша sql, верно?

Есть ли другие решения?

Ответы [ 3 ]

8 голосов
/ 26 ноября 2009

Посмотрели ли вы Windows Server AppFabric (ранее Velocity).

http://blogs.msdn.com/velocity/

2 голосов
/ 30 марта 2011

Мне кажется, что Windows Server AppFabric - это именно то, что вы ищете. (АКА "Скорость"). Из вводной документации :

Windows Server AppFabric предоставляет распределенное приложение в памяти кеш-платформа для разработки масштабируемый, доступный и высокопроизводительные приложения. AppFabric объединяет память в нескольких компьютеры, чтобы дать единый кеш просмотра приложений. Приложения могут хранить любые сериализуемый объект CLR без беспокоиться о том, куда попадает объект сохраняются. Масштабируемость может быть достигнута просто добавив больше компьютеров на потребность. Кэш также позволяет копии данных, которые будут храниться через кластер, тем самым защищая данные от неудачи. Это работает как услуга доступ по сети. В Кроме того, Windows Server AppFabric обеспечивает бесшовную интеграцию с ASP.NET, который включает сессию ASP.NET объекты для хранения в распределенный кеш без необходимости писать в базы данных. Это увеличивает производительность и масштабируемость приложений ASP.NET.

2 голосов
/ 16 ноября 2009

Вы можете использовать следующие опции -

  1. Используйте описанный здесь подход для синхронизации данных между веб-фермами - http://www.eggheadcafe.com/articles/20030420.asp

  2. Использовать подход распределенного кэширования

  3. Использовать кэш корпоративной библиотеки.

...