Spring Caching:远程驱逐入口

时间:2018-04-16 09:52:22

标签: spring caching microservices spring-cloud spring-cache

我有两个微服务器都在读/写同一个数据库。在其中一个中,我为一些实体缓存REST端点的结果。我还有@CachePut@CacheEvict来控制实体的生命周期。

现在,第二个微服务进入图片:它还可以修改由第一个返回的实体。

我的问题是:在这种情况下是否有任何远程缓存条目驱逐的机制?当然,我可以通过在第一个微服务中暴露“重置”端点并从第二个微服务中调用它来手动完成。但我希望有一些内置的机制,可能在Spring Cloud中。

1 个答案:

答案 0 :(得分:1)

我相信缓存复制解决方案将是一个不错的选择。 service 1在其缓存中所做的任何更改都将通过TCP / UDP复制到service 2的缓存中,反之亦然-取决于您的配置。

有多个缓存提供程序(例如EHCache)可立即提供。


我的配置看起来像这样:

...
<!-- Set up Cache peer provider factory --> <cacheManagerPeerProviderFactory class="net.sf.ehcache.distribution.jgroups.JGroupsCacheManagerPeerProviderFactory" propertySeparator="," properties="replicateAsynchronously=true,replicatePuts=true,replicateUpdates=true,replicateUpdatesViaCopy=false,replicateRemovals=true"/>
<!-- Set up Cache peer listener factory --> <cacheManagerPeerListenerFactory class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"/>
...


查看this (EHCache replication)-可能会有所帮助。