Я новичок в Spring Cloud и микросервисах в целом, и мне трудно понять эту концепцию.
Скажем, у меня есть микросервис X, который подключается к базе данных mongo, и я включил кеширование Spring с помощью аннотации @EnableCaching. Я настроил все так, что всякий раз, когда я сохраняю / сохраняю объект в mongo, он также добавляется в мой кеш (@cachePut), и аналогично, когда я удаляю объект из mongo, он удаляется из кеша (@CacheEvict).
Все работает нормально, если у меня есть единственный экземпляр микросервиса X, но что произойдет, если я установлю 50 экземпляров микросервиса X? Все ли они используют один и тот же кеш, если да, то как это работает? Если все они имеют свои собственные индивидуальные кеши, что произойдет, если objectA будет добавлен в кеш одного экземпляра и базу данных, а затем удален из базы данных другим экземпляром? objectA все еще будет в кеше первого экземпляра, даже если он был удален из mongo.
Надеюсь, кто-то сможет это прояснить
Спасибо я разберусь
Вы не должны использовать внутрипроцессное кеширование, вместо этого используйте распределенное кеширование для вашего приложения Spring, например. с Memcached или Redis.