Spring Cloud Config 如何只使用本地目录?

2020-06-13 18:55:23 +08:00
 zealinux

我搜索了一下,是使用环境配置成 native 。

Config 服务的配置文件:

spring:
    profiles:
        active: native

spring:
    cloud:
        config:
            server:
                native:
                    search-locations: file:///${user.home}/config-repo

config-repo 的目录结构:

ProjectA/
  datasource/
    ProjectA-prd.yml
ProjectB/
  datasource/
    ProjectB-prd.yml

然后我发现浏览起来获取不到配置

http://<config 服务 IP:Port>/ProjectA/prd

如果改成:

search-locations: file:///${user.home}/config-repo/**

还是不行。 不知道改怎么搞才对?

是不是 native 不支持通配符?


我的需求是,不依赖 git,只用本地目录来放所有微服务的配置文件。

如果依赖 git,岂不是部署给别人用的时候,还得再部署一套 git 服务??

2206 次点击
所在节点    Java
11 条回复
hangszhang
2020-06-13 19:10:14 +08:00
配置中心只把数据存本地, 你还用配置中心干嘛?直接写死在配置文件里面不就行了
lzk50136
2020-06-13 19:12:35 +08:00
用 nacos
zealinux
2020-06-13 19:19:19 +08:00
@hangszhang

另外前几天发生过这样的事情,

(付费的)第三方的远程代码 git 托管的服务崩了,
导致 配置中心 挂了。
(远程访问不到,居然还能把本地好的给充掉,也是醉了)
然后整个 spring cloud 挂了。
yukiloh
2020-06-13 19:21:23 +08:00
话说配置中心可不可以写多个备选…我还真的没试过
hantsy
2020-06-13 21:10:11 +08:00
相对来讲,除了一些云服务特有的 ENV,还有加密配置外,K8s 的 ConfigMap 不错。Git 这种 Config Server 实际应用中鸡肋。
hantsy
2020-06-13 21:13:22 +08:00
要用也可以选择基于 etcd,consul 的服务,其它的就算了吧。Configserver 这个一直没兴趣,我推荐的是用系统环境变量,aws 还支持 Vault 类似的加密配置。
jorneyr
2020-06-13 21:32:31 +08:00
# 配置的是目录
spring.cloud.config.server.native.search-locations = classpath:/shared

可以参考这个 https://qtdebug.com/html/spring-boot/spring-cloud/Config.html
k9990009
2020-06-14 09:52:45 +08:00
我记得 prd,native 一块写的,逗号隔开
cuichaoyang
2020-06-14 11:19:36 +08:00
启动参数 profiles=dev,native
zealinux
2020-06-14 21:44:33 +08:00
@jorneyr
使用到了 classpath,也就是要配置文件打包到 jar 里面咯?

如果配置文件后期要改动,岂不是每次都要重新打包一下 jar ?
ipeony
2020-06-15 13:22:00 +08:00
我觉得你的需求不是不依赖 git,只是不依赖 git 远程服务
直接配置 spring.cloud.config.server.git.uri 指向本地的 git 仓库目录( eg. file:///Users/devUser/Projects/Work/demo-repo ),既可以满足 native 的需求,还能做版本管理

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/681295

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX