Я рассматриваю использование кэширования AppFabric для своего приложения, но не понимаю, как заставить его делать то, что я хочу. У меня 1 кластер SQL в 1 месте. У меня есть 200 серверов приложений по всему миру. Я хочу разместить кластер кэширования AppFabric в каждом из этих мест, чтобы серверы приложений имели быстрый доступ к объектам SQL. В дополнение к быстрому доступу, мне нужно, чтобы они имели доступ к данным в случае недоступности кластера SQL.AppFabric Caching и SQL Dependency
Приложение HR, которое непосредственно обновляет кластер SQL, чтобы данные изменялись. Серверы приложений также будут обновлять кеш AppFabric во многих местах. Все эти данные должны оставаться в синхронизации. Вот мои вопросы:
Как будет обновляться кеш при изменении БД? Я прочитал, что SQLDependency - это то, что мне нужно, но я также прочитал, что после того, как произойдут изменения, весь мой кеш будет выгружен и придется повторно синхронизировать. Я хочу, чтобы только измененные объекты отправлялись в несколько кешей для обновления.
Что происходит, если кластер SQL недоступен и кеш не может найти запрашиваемые объекты?
Есть ли лучший способ сделать то, что я пытаюсь сделать? Это больше о доступности объектов SQL, чем о производительности. О том, чтобы исследовать MS Sync Framework ...
FYI: SqlCacheDependency - поставщик кеша для ASP.NET и не тот же, что и объект SqlDependency от ADO.NET, который позволяет вам перехватывать пользовательский код для выполнения при уведомлении от SQL, данные которого были изменены. – Jaans