我有下一个任务和设置:
- 我有 5 台 EC2 机器和 Spring Boot 应用程序部署在它们上面
- 我有 Guava 缓存和数据库集成
- 任务是:
- 在启动之前将 1 个表中的所有数据预加载到每个实例,并仅在填充缓存时使应用程序健康(或“准备好”)
- 每 N 分钟我需要完全刷新缓存 - 即再次从数据库重新加载数据
- 缓存中的每个项目仍然应该可以通过键获得
- 在此重新加载期间,我仍然会对这些机器有大量请求,并且希望在缓存更新时从缓存中返回旧值
- 每台机器上的缓存访问也非常高并发 - 所以我不确定我可以在这里使用什么实现
例如,我读了很多Supplier,但它不符合我的需要。有人有过这样的经历吗?