Ehcache весны не работает правильно между микросервисами

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

В Micro1:

Class A {
private Object obj;

//getter and setter
}

В Micro2:

Class B {
private Object obj;

//getter and setter
}

а также Object obj имеет собственный репозиторий и сервис и уровень контроллера.
В сервисном слое этой модели есть конфиг ehcash весны при сохранении метода. как это:

@Transactional
@Override
@Caching(evict = { @CacheEvict(value = "obj", key = "#obj.id" ) })
public Integer save(Object obj) {
    //Code here
}

Он работал, когда приложение было монолитным, но после разделения из-за этого obj поскольку зависимость существует во всех микросервисах, и этот метод (метод сохранения) повторяется в каждом микросервисе, ehcash не работает правильно.
Как мне это сделать, когда каждый микросервис воздействует на Объект и другие известные ему микросервисы.

1 ответ

Есть много решений, которые могут помочь вам в этой проблеме, Redis имеет хорошую интеграцию с Spring, и вы можете легко использовать его для решения вашей проблемы, вы можете узнать больше об этом в этой ссылке

Также существуют решения, такие как Hazelcast, это сетка данных и нечто большее, чем простой кэш ключ-значение.

Другие вопросы по тегам