首页 > 解决方案 > 使用 Guava Cache 在多个服务实例上进行分布式缓存同步

问题描述

我在我的服务中使用Guava Cache来缓存数据库,并且我正在使用 REST 调用来使缓存内容无效/刷新。我的设置包含我的 10 个分布式实例的部署service

在多个实例的缓存之间保持同步的最佳实践是什么?理想情况下,如果我向 1 个实例发送缓存updateREST 调用,那么我希望它在其余 9 个实例上触发相同的调用。

我想避免使用远程缓存解决方案,以避免额外的 REST 调用和相关的网络延迟。

标签: javaspringcachingguava

解决方案


如果您不想使用像Redis这样的分布式缓存系统,那么您正在查看的是在您的服务层中有另一个端点,它发送/接收来自另一个服务实例的 REST 调用(以及缓存值加上缓存元数据)作为一旦缓存失效(驱逐)或 TTL 刷新事件发生更新你的内存 Guava 缓存层。


推荐阅读