Я работаю над планом повышения производительности и масштабируемости веб-приложения путем кэширования базы данных пользователей для веб-службы WCF.Цели состоят в том, чтобы повысить производительность за счет доступа к этим данным в Proc против двустороннего сервера базы данных, а также повысить масштабируемость службы за счет снижения нагрузки на сервер базы данных, что позволяет добавлять больше веб-серверов для увеличения масштаба.
Исследуя AppFabric, я действительно не вижу значения в моей ситуации, потому что кажется, что по большей части, я просто заменяю обратную передачу в базу данных на обратную передачу в кластер кэша (который выглядит какон может даже иметь больше служебной информации, чем база данных, чтобы поддерживать синхронизацию узлов).
Что касается вопроса производительности, то кажется, что использование кэша asp.net (в процессе) будет намного быстрее, чем обратная передача вкластер кэша, даже если данные находятся в памяти на этих серверах, и даже если некоторые из них кэшируются локально (я полагаю, что это все еще будет вне процесса из веб-приложения).
Для проблемы масштабируемости,также кажется, что проще добавлять идентичные веб-серверы в веб-ферму (каждый из которых кэширует пользователя).данные в процессе), а не управлять кластером кэша отдельно, что добавляет сложности.
С учетом сказанного, кто-то может объяснить, почему я выбрал бы один подход вместо другого, учитывая мои заявленные цели?Если вы порекомендуете подход AppFabric, вы можете объяснить, как производительность будет лучше, чем хранение данных в кэше asp.net в процессе.
Спасибо!