首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Microservices:同时更新缓存

Microservices:同时更新缓存
EN

Stack Overflow用户
提问于 2018-11-08 03:46:25
回答 1查看 215关注 0票数 0

我正在开发一个微型服务。这一管理系统将部署到码头集装箱,并将由库伯内特斯监测。我必须使用hazelcast分布式缓存实现缓存解决方案。我的要求是:

  • 在启动此微服务时预加载缓存。对于大约3000家商店,我必须获取两个特定的属性并缓存它们。
  • 每24小时刷新一次缓存。

我实现了Spring @EventListener,并在启动时对这两个属性进行数据库调用,并执行@CachePut并将它们存储在Cache中。

我还有一个带有cron表达式的Spring调度程序,可以在早上6点刷新缓存。

到目前一切尚好。

但是,我没有意识到的是,在集群环境中--我的微服务的10-15个实例将在运行中,并且几乎同时尝试执行两个以上的步骤--从而在我的数据库和缓存上产生了踩踏效应。有人知道在这种情况下该怎么做吗?有什么好的设计,甚至一般的设计,我可以遵循吗?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-11-08 04:07:47

您应该考虑使用Hazelcast提供的加载和存储持久数据机制,该机制允许两个写入选项:写入和写入以及读取,用于将数据加载到缓存中。

查找MapLoader及其方法,这些方法将允许您预热/预加载集群,并且您可以使用自己的实现自由地这样做。

查看详细信息:https://docs.hazelcast.org/docs/3.11/manual/html-single/index.html#loading-and-storing-persistent-data

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53201267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档