Кэширование ваших данных в коде вашего приложения, как правило, является хорошей идеей по многим причинам. Мы некоторое время занимаемся этим в нашей общей среде, которая включает ColdFusion, .NET и PHP. Однако, поскольку мы делимся этой средой со многими другими группами разработчиков в нашей организации, время простоя значительно больше, чем мы (или наши клиенты) оцениваем.
Поэтому наши веб-администраторы переходят к внедрению новой среды. В этой среде они добавляют уровень QA между текущими средами Dev и Prod. Кроме того, чтобы увеличить время безотказной работы, они кластеризуют машины как на уровне контроля качества, так и на уровне производительности.
Это все замечательно по многим причинам. Единственная область, где я вижу проблему, связана с кэшированием. Там будет два (или более в зависимости от количества узлов) наборов кеша. Как вы можете себе представить, это создает следующую потенциальную проблему. Кэш-память одинакова на узлах A и B. Пользователь 1 обновляет данные, и, таким образом, кэш-память обновляется на узле A. Пользователь 2 приходит на запрос данных, но находится на узле B и, следовательно, получает старые данные.
Есть ли у них какие-либо передовые методы, как с этим справиться?
Могу ли я внести какие-либо изменения в мой код?
Существуют ли настройки сервера, которые могут быть реализованы?