DistributedMap как кеш, кластеризованный с терракотой
При выборе подходящей реализации кеша для кластеризации с помощью Terracotta я столкнулся с отдельным модулем интеграции Terracotta с именем DistributedMap, который предоставляет базовые возможности кэширования, такие как поддержка различных политик выселения и т. Д. Эта реализация кеша кажется легко настраиваемой, но когда дело доходит до производства Я уже обнаружил, что мне нужно найти ответы на некоторые вопросы: 1. Кто-нибудь использовал этот TIM раньше, есть ли кто-нибудь, кто пытался использовать этот TIM? Есть ошибки? 2. DistributedMap легко настраивается, но как насчет следующего сценария: что если мы запустим 2 клиента Terracotta, и каждый из них будет иметь свою DistributedMap, настроенную по-своему. Обновит ли сервер Terracotta существующую конфигурацию, предоставленную client1, или просто оставит ее без изменений.
1 ответ
Я только что говорил с клиентом сегодня, используя DistributedMap в производстве.
Что касается конфигурации - я считаю, что конфигурация содержится в экземпляре. Поскольку DistributedMap не содержит никаких корней, в которых общее состояние будет перекрываться с другим экземпляром, каждый экземпляр будет отделен друг от друга (то есть вы можете создать столько независимых DistributedMaps, сколько захотите).
Обратите внимание, что DistributedMap на самом деле не кластеризован, пока вы не сделаете его кластеризованным, добавив его в общий граф. Это можно сделать, добавив его в уже кластеризованный POJO (вашего собственного создания или, например, HashMap, уже кластеризованный) или пометив его как корневой (общий подход, предложенный документами).