springcould的注册中心可以通过抽取统一管理,可以本地、git和svn的配置,具体实现如下:
config中的bootstrap.yml配置:
spring:
application:
name: config-service
profiles:
# 指定为native,开启本地存储配置的方式,spring cloud微服务配置中心默认有3种方式:远程git仓库、远程SVN、本地方式(本地目录)
active: ${SPRING_PROFILES_ACTIVE:git}
cloud:
config:
server:
git:
uri: http://172.28.162.XX:8081/XXX/spring-XX-config.git
search-paths: config-app # git仓库地址下的相对地址,可以配置多个,用,分割。
username: XXXt@126.com # git仓库的账号
password: XXX # git仓库的密码
ignore-local-ssh-settings: true # If true, use property based SSH config instead of file based.
private-key: |
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC1Mi4Z2Yh3i2EoZMxHpZMuG4OBjiaGC72UMYIFFxE+Y3+wLVjNosmwqwc2bJnts0UsmZrF8miynB8Qr+ePL3gs9hMl6InctZ8PyGhHbZ2pRqoakpXRcUbWN4Iit4SS7cRWrv6ErXhFY5qmJu8cGCieLQICo3nR7T8CFvdLAt1E4hbsmxW3zMm9FTyTPzVIIj0wgkeoNHkeM4aIkKTQBkzMzg40iMKDFUnasczvAwoHY/ytdkXUjEcxx+pz5qgtyduUlighg+4UCJKi/+b2IZ1p+SX0+U+a4GxMEsrJRevFwvTTEamhXPOtWGitDIeHPQjWnoJAiSBE+PEIRWjTZ3zt lipengfei66it@126.com
注意:如果使用的ssh则上面的 ignore-local-ssh-settings和private-key: |必不可少,秘钥在本机公钥文件中
在其他服务中的bootstrap.yml配置:
spring:
application:
name: user-service
cloud:
# 使用consul作为注册中心
consul:
host: ${CONSUL_HOST:172.28.162.xx}
port: ${CONSUL_PORT:8500}
# 使用配置服务中心的配置信息
config:
fail-fast: true # 在某些情况下,如果服务无法连接到配置服务器,则可能希望启动服务失败,客户端将以异常停止
retry:
max-attempts: 5 # 配置客户端重试,默认行为是重试6次,初始退避间隔为1000ms,指数乘数为1.1
discovery:
# 默认false,设为true表示使用注册中心中的配置服务(服务发现)而不自己指定配置服务的地址(即uri)
enabled: true
# 指向配置中心在consul注册的服务名称(即:spring.application.name)
service-id: config-service
name: application-user-service # 对应{application}部分
# profile: dev # 对应{profile}部分
label: master # 对应git的分支,如果配置中心使用的是本地存储,则该参数无用