Срок действия элементов кэша Coherence истекает, и они удаляются из кластера.

Срок действия элементов кэша Coherence истекает, и они удаляются из кластера в приложении Spring Hibernate Tomcat. В результате данные не синхронизируются, и все члены кэша не обновляются одновременно. Это приложение работает в PROD, и единственное изменение, которое мы недавно сделали, — это обновление Tomcat. Это вопрос производства. ЛЮБЫЕ предложения помогут. Спасибо.


person Radhika    schedule 21.11.2012    source источник


Ответы (1)


Как вы говорите, элементы кеша удаляются по истечении времени ожидания или, другими словами, они перестают реагировать на остальную часть кластера.

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

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

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

Причина этого в том, что, используя вашу ситуацию в качестве примера, у Tomcat есть всевозможные требования к ресурсам, которые в конечном итоге предъявляют к JVM более широкий набор требований к памяти/сборке мусора, чем просто член кластера. Таким образом, настройка JVM для более широких требований приведет к большему компромиссу и, в конечном счете, затруднит запуск JVM, где память/GC оптимизированы для поддержания стабильности кластера.

person Nick Holt    schedule 13.02.2013