Распределенное кеширование для Mybatis
У кого-нибудь был производственный опыт с распределенным кэшированием для Mybatis? Я видел некоторые предложения для ehcache/Terracotta, но предыдущий опыт работы с Terracotta заставил меня захотеть держаться подальше от этого (сложно настроить и продолжать работать). Hazelcast кажется интересной возможностью - кто-нибудь пытался использовать его как распределенный кеш с Mybatis?
Наше приложение имеет относительно большую базу данных (1 ТБ), поэтому нам нужно решение, которое хорошо масштабируется.
2 ответа
Я использую Ehcache с Mybatis+Spring для производства, и это очень эффективно. И его конфигурация довольно проста. (вряд ли 10 строк XML-файла)
На личном уровне мое предложение будет использовать Ehcache.
PS: Я использую Hazelcast для разных целей, которые требуют распределенного кэширования, и это тоже здорово, но для MyBatis это все равно, что стрелять в Insect with Gun.!
Я использую Redis для кеширования кластера. Всего на нем работает 5 узлов, и кеш никогда не является узким местом.
Официальный плагин https://github.com/mybatis/redis-cache работает хорошо, но неэффективно, я немного улучшил его, добавив поддержку кластера и более эффективный контроль времени ожидания https://github.com/MiltonLai/redis-cache