问题描述:Spring cloud 配置中心运行一段时间后,再启动微服务后发现拉取不到配置信息
原因:tmp
目录下的缓存仓库已经被清空了
Spring Cloud的官方文档中也有对应的说明,原文如下:
With VCS based backends (git, svn) files are checked out or cloned to the local filesystem. By default they are put in the system temporary directory with a prefix of config-repo-. On linux, for example it could be
/tmp/config-repo-<randomid>
. Some operating systems routinely clean out temporary directories. This can lead to unexpected behaviour such as missing properties. To avoid this problem, change the directory Config Server uses, by settingspring.cloud.config.server.git.basedir
orspring.cloud.config.server.svn.basedir
to a directory that does not reside in the system temp structure.根据上面的内容,我们可以知道在某些系统中,对于
/tmp
目录进行周期性的清理,所以也就有了上面所说的问题。从文档中我们也已经知道如果去解决该问题,无非就是通过
spring.cloud.config.server.git.basedir=config-repospring.cloud.config.server.git.basedir
或spring.cloud.config.server.svn.basedir
参数来指定一个不会被定期清理的目录。比如,我们可以设置:
参考:http://blog.didispace.com/spring-cloud-tips-config-tmp-clear/