SpringCloud微服务(06):Config组件,实现配置统一管理

发布时间:2020-07-13 16:16:10 作者:知了一笑
来源:网络 阅读:375

本文源码:GitHub·点这里 || GitEE·点这里

一、Config简介

在微服务系统中,服务较多,相同的配置:如数据库信息、缓存、参数等,会出现在不同的服务上,如果一个配置发生变化,需要修改很多的服务配置。spring cloud提供配置中心,来解决这个场景问题。
系统中的通用配置存储在相同的地址:GitHub,Gitee,本地配置服务等,然后配置中心读取配置以restful发布出来,其它服务可以调用接口获取配置信息。

二、配置服务端

1、项目结构

SpringCloud微服务(06):Config组件,实现配置统一管理

2、核心依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-config-server</artifactId>
</dependency>

3、核心配置文件

这里注意读取文件的配置

4、读取配置内容

不同的环境读取的结果不同。

info:
  date: 20190814
  author: cicada
  sign: develop
  version: V1.0

三、配置客户端

1、核心依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-config</artifactId>
</dependency>

2、核心配置文件

在上面的配置中心,配置读取Git资源,所以这里的配置也就是读取Git资源。

server:
  port: 8001
spring:
  application:
    name: config-client-8001
  profiles:
    active: dev
  cloud:
    config:
      # 读取本地配置 ---------------------------
      #uri: http://localhost:9001
      ## 读取策略:快速失败
      #fail-fast: true
      ## 读取的文件名:无后缀
      #name: client-8001
      ## 读取的配置环境
      #profile: dev  # client-8001-dev.yml
      # ----------------------------------------

      # github上的资源名称 -----------------------
      name: client-8001
      # 读取的配置环境
      profile: dev
      label: master
      # 本微服务启动后,通过配置中心6001服务,获取GitHub的配置文件
      uri: http://localhost:9001
      # ----------------------------------------

3、测试接口

@RestController
public class ClientController {
    @Value("${info.date}")
    private String date ;
    @Value("${info.author}")
    private String author ;
    @Value("${info.sign}")
    private String sign ;
    @Value("${info.version}")
    private String version ;
    /**
     * 获取配置信息
     */
    @RequestMapping("/getConfigInfo")
    public String getConfigInfo (){
        return date+"-"+author+"-"+sign+"-"+version ;
    }
}

四、基于Eureka配置

上面的模式,通过服务中心,直接获取配置。下面把注册中心Eureka加进来。

1、项目结构

启动顺序也是如下:

node06-eureka-7001
config-server-9001
config-client-8001

2、修改配置项

完成后Eureka注册中心效果图,启动顺序如下:

SpringCloud微服务(06):Config组件,实现配置统一管理

3、修改客户端配置

通过注册中心获取服务,避免使用URI地址。

SpringCloud微服务(06):Config组件,实现配置统一管理

经过测试后,正确无误。

五、源代码地址

GitHub·地址
https://github.com/cicadasmile/spring-cloud-base
GitEE·地址
https://gitee.com/cicadasmile/spring-cloud-base

SpringCloud微服务(06):Config组件,实现配置统一管理

推荐阅读:
  1. 微服务架构案例(06):通过业务、应用、技术、存储方面,聊聊架构
  2. 详解SpringCloud Ribbon 负载均衡通过服务器名无法连接的神坑

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

springcloud 微服务 config组件

上一篇:什么是html5 viewport

下一篇:被忽视的oracle用户属组

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》