总的来说,我对Spring Cloud和微服务还很陌生,这是我一直在努力理解的概念。
假设我有一个连接到mongo数据库的微服务X,并且已经使用@EnableCaching
批注启用了Spring缓存。 我已经进行了设置,以便每当我将对象保存/持久保存到mongo时,它也会被添加到我的缓存中( @cachePut
),同样,当我从mongo中删除一个对象时,它也会从缓存中被删除( @CacheEvict
)。
如果我有一个微服务X实例,那么一切都很好,但是如果我站了50个微服务X实例,会发生什么呢? 它们是否都共享相同的缓存,如果可以的话,它如何工作? 如果它们都有各自的缓存,那么如果将objectA添加到一个实例的缓存和数据库中,然后又将其从另一个实例中删除,该怎么办? 即使已将对象A从mongo中删除,它也仍将位于第一个实例的缓存中。
希望有人可以解决这个问题