Я использую hazelCast для кэширования данных, получаемых из API. Структура API выглядит примерно так:
Controller->Service->DAOLayer->DB
Я держу @Cacheable на сервисном уровне, где присутствует метод getData (int elementID).
В моей архитектуре есть два узла PaaS ( np3a, np4a). API будет развернут на обоих из них, и пользователи будут получать к ним доступ через IP-адрес loadBalancer, который перенаправит их на любой из узлов.
Таким образом, возможно, что для одного обращения пользователя X запрос перейдет к np3a и для другого попадания от того же самого пользовательского запроса идет к np4a.
Я хочу, чтобы в самом первом попадании, когда я кэшировал ответ на np3a, такой же кэшированный ответ также был доступен для следующего попадания на np4a.
Я читал о
- ReplicatedMaps : недостаточно памяти
- NearCache : при чтении> запись
Я не уверен, какой из подходов выбрать или вы предлагаете что-то совершенно другое.