Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Как аннулировать OutputCache в веб-ферме?

Автор вопроса: Pure.KromeОтветов: 2

у меня есть веб-сайт, который использует атрибут OutputCache для кэширования страниц. Прекрасно работает.

Сейчас я занимаюсь исследованием и разработкой масштабирования этого сайта, чтобы он превратился в веб-ферму. Наряду с обычными подозреваемыми в боли веб-фермы ... Я заметил (довольно быстро / очевидно), что OutputCache с Server_A не делает недействительным OutputCache с Server_B .. если попытаться сделать недействительным OutputCache одного сервера. В этом есть смысл -> как S_A может "сообщить" S_B о недействительности, когда они физически являются двумя отдельными машинами и т. д.?

Итак, какие у нас есть варианты?

Скорость? Я понимаю, что это переместит кеширование на другой уровень.. это означает, что окончательный результат (выход) всегда необходимо будет определять.. в отличие от OutputCache, который запоминает окончательное выходное содержимое (да, varby дает разные версии, д., что совершенно нормально). Таким образом, даже несмотря на то, что все poco или бизнес-объекты синхронизированы, все еще требуется последнее усилие по рендерингу (даже если оно крошечное по сравнению с усилиями по созданию/синхронизации бизнес-объектов).

Так что да .. не уверен в вариантах здесь и что делают другие люди?

cachingappfabricoutputcache

Ответы

Ответ 1 · рейтинг 2 · PhilPursglove

Как вы сказали выше, кэширование вывода ASP.NET из коробки работает для каждого сервера. Однако в ASP.NET 4.0 вся инфраструктура кэширования является подключаемой. ScottGu имеет сообщение в блоге о том, как использовать это для кэширования вывода. Я написал демонстрационный код, использующий Velocity/AppFabric в качестве механизма кэширования, который должен делать то, что вам нужно - посмотрите мой блог здесь.

Ответ 2 · Claudio Redi

Взгляните на memcached.

Что такое Memcached?
Бесплатная и с открытым исходным кодом, высокопроизводительная система кэширования объектов с распределенной памятью, универсальная по своей природе, но предназначенная для использования в ускорении динамических веб-приложений за счет снижения нагрузки на базу данных.

Из Википедии

Система используется несколькими очень крупными и известными сайтами, включая YouTube[2], LiveJournal, Wikipedia/Wikimedia, Amazon.com, Wikia, SourceForge, Metacafe, Facebook[3][4], Twitter[5], Fotolog, The Pirate Bay[6] и Netlog.[7]

Клиент .NET здесь

К сожалению, это не очень хорошо работает с окнами. Его можно установить, но лучшая интеграция - с linux.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы