Есть ли хорошие альтернативы Apache Ignite в качестве сетки данных в памяти, используемой вместе с Spring в качестве распределенного кэша?
У нас есть решение, которое использует предоставляемую Apache Ignite сетку данных в памяти в качестве распределенного кэша. Для новых проектов мы в конечном итоге использовали Spring, и поэтому мы хотели гомогенизировать нашу программную экосистему, а также использовать Spring для первого решения. Кроме того, мы не используем все возможности Ignite для оправдания его использования (обнаружение, кэширование).
Поскольку в настоящее время мы используем только ограниченное подмножество функций Ignite, мы в основном ищем решение для распределенного кэша на уровне приложений с самостоятельным управлением (аналогичное тому, которое предоставляет Ignite). Это означает, что выделенная инфраструктура кэширования, такая как Redis, Memcached и т. Д., - это не то, что нам нужно.
Я немного исследовал тему и обнаружил, что есть несколько возможных альтернатив, таких как:
Тайзгрид - Последнее обновление, кажется, было довольно давно, не уверен, что все еще активно поддерживается
Друид - Все еще высиживаю, и я также читал, что несколько выпусков новых выпусков не было таким уж редким
Hazelcast - кажется лучшим выбором, учитывая его зрелость и существование Spring Data Hazelcast, хотя я не уверен, какой уровень поддержки здесь.
У кого-нибудь есть опыт интеграции одной из вышеуказанных IMDG (кроме Ignite) с Spring Cache? Любые указатели в правильном направлении будут с благодарностью.
1 ответ
Hazelcast имеет официальную поддержку Spring Data Hazelcast, а также этот модуль имеет много пользователей, как и сейчас. Я также могу предложить вам взглянуть на ресурсы ниже:
Использование Hazelcast с данными Spring
Начало работы с микросервисами с использованием Hazelcast IMDG и Spring Boot
Вы можете использовать Redisson - Redis Java-клиент с функциями In-Memory Data Grid. Он также реализует поддержку Spring Data. Вот документация.