Что вы используете для распределенного кэширования в веб-фермах, работающих под управлением ASP.NET? - PullRequest
4 голосов
/ 19 сентября 2008

Мне любопытно, что другие используют в этой ситуации. Я знаю несколько опций, таких как порт memcached или ScaleOutSoftware. Похоже, что порты memcached не работают активно (поправьте меня, если я не прав). ScaleOutSoftware слишком дорог для меня (я не сомневаюсь, что оно того стоит). Это не значит, что я не хочу слышать о людях, использующих memcached или ScaleOutSoftware. Я просто заявляю, что я «знаю» на данный момент.

Итак, мой вопрос в основном таков: для тех из вас, АКТИВНО использующих распределенное кэширование, чем вы пользуетесь, довольны ли вы этим, и на что мне обратить внимание?

Я переезжаю на два сервера очень скоро ... оба будут в одном месте. Я довольно интенсивно (но осторожно) использую кэширование, чтобы уменьшить нагрузку на сервер базы данных.

Редактировать: Я скачал решение Scaleout Software. Я кодировал это, и это, кажется, работает очень хорошо. Я просто должен решить, будет ли мой кошелек расстаться с деньгами за это. :) У кого-нибудь есть опыт хорошего или плохого с ScaleoutSoftware?

Редактировать еще раз: Прошло немного времени с тех пор, как я спросил это? Есть еще мысли по этому поводу? В итоге мы купили решение у ScaleOutSoftware и были довольны им, но мне любопытно, что делают другие.

Ответы [ 7 ]

3 голосов
/ 24 сентября 2008

У Microsoft есть продукт с кодовым названием Velocity . Это все еще в CTP, и движется медленно, но, похоже, это будет довольно хорошо. В ближайшем будущем мы его побьем, чтобы увидеть, как он справляется с тем, что мы хотим, чтобы он делал (> 2 миллиона операций чтения / записи в час). Отпишусь с результатами.

2 голосов
/ 07 марта 2009

Существует 100% собственный .NET, хорошо документированный проект с открытым исходным кодом (LGPL), который называется Shared Cache . Похоже, это еще не упоминалось в SO, но это многообещающе и должно быть в состоянии сделать то, что большинство людей ожидают от распределенного кэша. Он даже поддерживает различные стратегии, такие как распределенное или реплицированное кэширование и т. Д.

Я обновлю этот пост с более подробной информацией, как только у меня будет возможность попробовать его на реальном проекте.

1 голос
/ 20 ноября 2008

В настоящее время мы используем невероятно простой кеш, который я написал за пару часов, на основе повторного размещения кеша ASP.NET в службе Windows ( дополнительная информация и исходный код здесь ). Я не буду притворяться, что он настолько оптимизирован, как Memcached, но мы просто искали что-то простое и бесплатное, пока не появилась Velocity, и она очень хорошо держалась даже при довольно большой нагрузке.

Все сводится к нашим личным предпочтениям основных компонентов - то есть тех, которые влияют на то, доступен сайт или нет - что они либо (а) поддерживаются поставщиком с историей быстрой и качественной поддержки, либо (б) ) написано нами, так что если что-то пойдет не так, мы сможем быстро это исправить. С открытым исходным кодом все хорошо, и мы действительно используем некоторые OSS, но если ваш сайт находится в автономном режиме, то, к сожалению, у групп новостей и др. нет SLA на 1 час, и только потому, что это OSS, нет означает, что у вас есть необходимое понимание или способность исправить это самостоятельно.

1 голос
/ 20 ноября 2008

Там есть отличный .NET обертка / порт, найденный здесь в Codeplex. Awesomesauce!

1 голос
/ 19 сентября 2008

Мы используем memcached порт для Windows, и мы очень довольны им. API клиента memcached для enyim.com великолепен и с ним легко работать. Это также открытый исходный код, что является большим преимуществом, если вы спросите меня.

Сейчас мы используем эту настройку в производственном веб-приложении, и оно очень помогло в улучшении его производительности.

0 голосов
/ 22 мая 2013

Один из испытанных продуктов, разработанный сотнями клиентов по всему миру, - NCache . Его

многофункциональный продукт, который позволяет хранить состояние сеанса избыточным и высокодоступным способом, позволяет обмениваться данными

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

ваше приложение масштабируется, вы можете добавлять серверы в кеш и фактически повышать производительность.

0 голосов
/ 07 ноября 2008

Мы используем memcached с библиотекой enyim в производственной среде (www.funda.nl). Работает нормально, очень доволен, но мы заметили существенное увеличение использования ЦП на клиентах. Предположительно из-за происходящей сериализации / десериализации. Мы делаем около 1000 операций чтения в секунду.

...