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, это сетка данных и нечто большее, чем простой кэш ключ-значение.