2019-7-31 Spring cloud config 笔记

Config Server

config server可以与eureka同体存在,但这里为了明确记录,就采用单独的module实现


在创建项目之前,需要在git上创建一个project,这里使用github
创建过程省略,这里给出project的结构
在这里插入图片描述
config-client文件夹内包含
在这里插入图片描述
yml文件内容是
在这里插入图片描述
这里将成为config-server的配置存储中心,此处仅有**(name = “hello”, value = “world”)**


下面开始创建项目

新建module

在这里插入图片描述
启动类

添加@EnableConfigServer注解

@SpringBootApplication
@EnableConfigServer	//<- here
public class ConfigApplication {

    public static void main(String[] args) {
        SpringApplication.run(ConfigApplication.class, args);
    }

}

配置文件

server:
  port: 8888

spring:
  cloud:
    config:
      server:
        git:
          uri: https://github.com/CodeMd2z/config.git
          search-paths: '{application}'
  application:
    name: config-server

uri的值为目标git地址,因为创建的project为公开的,所以这里不需要账号密码的配置,如果是私有,则需要:

spring:
  cloud:
    config:
      server:
        git:
          uri: https://github.com/CodeMd2z/config.git
          username: xxxxx
          password: xxxxx

port为config-server监听的端口(如果不设置成8888,则会引发一些错误,后续记录)

此时即可启动config-server,在浏览器输入:http://localhost:8888/config-client/dev/master 即可看到
在这里插入图片描述


使用

然后在需要配置中心的配置的serivce项目配置文件中添加:

spring:
  cloud:
    config:
      uri: http://localhost:8888/
      profile: dev
      label: master

即可调用配置中心的配置
uri 为config-server的地址
profile 为环境选择
label 为git的分支选择


刚刚说到,这里存在一个问题
我在最开始的时候把config-server启动在8765端口
在这里插入图片描述
在这里插入图片描述
但是当service调用配置中心的配置时仍然访问的是8888端口
查了资料之后才明白,服务必须获取了配置中心的配置之后才能启动,而获取的时候还没有读取application.yml的内容,因为它的优先级不高,但服务又需要一些配置才能启动,所以就优先读取bootstrap.yml以启动服务,然后才读取application.yml的内容


那么当问题解决,服务成功读取到配置中心的内容时,我们就可以看到它的效果了:
先在启动类添加一个示例接口:

在这里插入图片描述
在浏览器输入:http://localhost:8904/hello 即可得到git上那个文件里面的配置内容:(ps: 8904为服务启动的端口)
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值