我有一个基于Spring的Web应用程序(war包),部署在Tomcat Web服务器上。该Web应用程序由几个服务器实例提供服务,每个实例都运行Tomcat的一个实例。我打算将一些数据缓存到Redis datastore中,所有应用程序实例都联系这个数据存储器来读取数据。在应用程序启动时,我想要在Redis中预先缓存一些数据。
如果通过Web应用程序进行操作,所有节点都会尝试初始化缓存。将其中一个实例作为leader是其中之一的选项,还有更好的解决方案吗?
如果通过Web应用程序进行操作,所有节点都会尝试初始化缓存。将其中一个实例作为leader是其中之一的选项,还有更好的解决方案吗?
- 重新启动:表示:停止Tomcat,然后再次启动它。这可以出于多种原因:部署新版本的Web应用程序/服务器(机器)重启/添加到池中的新服务器。不大可能所有的tomcat实例同时启动,但其中一些可能在几乎相同的时间启动。
- 缓存服务器独立于Web应用程序,但如果它也崩溃并且数据丢失了。我也将在Cache中维护“最后读取”的时间戳。