Кэширование базы данных в Spring Cloud (или поддержание согласованных списков между микросервисами в целом) - PullRequest
0 голосов
/ 02 июня 2018

Я довольно новичок в Spring Cloud и микросервисах в целом, и мне трудно понять эту концепцию.

Допустим, у меня есть микросервис X, который подключается к базе данных Монго, и я 'мы включили кеширование Spring, используя аннотацию @EnableCaching.Я настроил все так, чтобы всякий раз, когда я сохранял / сохранял объект в mongo, он также добавлялся в мой кеш (@cachePut), и аналогичным образом, когда я удаляю объект из mongo, он удаляется из кеша (@CacheEvict).

Это все работает нормально, если у меня есть один экземпляр микросервиса X, но что произойдет, если я выдержу 50 экземпляров микросервиса X?Все ли они используют один и тот же кеш, если да, то как это работает?Если все они имеют свои собственные индивидуальные кэши, что произойдет, если objectA будет добавлен в кэш одного экземпляра и базу данных, а затем удален из базы данных другим экземпляром?objectA все еще будет в кеше первого экземпляра, даже если он был удален из mongo.

Надеюсь, кто-нибудь сможет это исправить

...