搭建SpringCloud配置中心 Config Server

项目地址: 链接:https://pan.baidu.com/s/1Mxo0ltvZbpz_r8mCU-mSpw 
提取码:3j4a 

问题解答:

SpringCloud Config 分布式配置文件中心
     1.为什么要使用分布式配置中心?
          产生的背景:在微服务如果使用传统的方式管理配置文件,配置文件管理器非常复杂,如果生产环境配置文件,可能
                     需要发生改变的时候,重新打war包,重新读取配置信息在jvm内存中
     2.什么是分布式配置中心?
          在微服务当中使用同一个服务器管理所有服务配置文件信息,能够实现后台可管理,当服务器正在运行的时候,
          如果配置文件需要发生改变,可以实现不需要重启服务器实时更改配置文件信息.
     3.有哪些分布式配置中心框架? (推荐使用阿波罗和zk)
          1.阿波罗携程写分布式配置中心,有图形界面可管理配置文件信息.配置文件信息存放在数据库里面.
          2.SpringCloud Config没有后台可管理分布式配置中心,配置文件信息存放在版本控制器里面.
          3.使用Zookeeper实现分布式配置中心,持久节点+事件通知          
     4.分布式配置中心需要哪些组件?
          1.Web管理系统--后台可以使用图形界面管理配置文件SpringCloud Config没有图像化管理配置文件
          2.存放分布式配置文件服务器(持久存储服务器)--使用版本控制器存放配置文件信息,使用git环境
          3.ConfigServer缓存配置文件服务器(临时缓存存放)
          4.ConfigClient 读取ConfigServer配置文件信息.

搭建分布式配置中心 SpringCloud Config
    1.搭建git环境, 目的:持久化存储配置文件信息 采用码云
       git环境上文件夹以项目进行区分
       member_config会员服务配置文件
       order_config订单服务配置文件
    2.公司项目中环境是如何区分?
       dev   开发环境
       sit   测试环境
       pre   预发布环境
       prd   准生产环境
       uat   验收环境
    3.在Git环境上创建配置文件命名规范
      会员服务---服务名称---member:  服务名称-环境.properties    member-dev.properties
    4.默认情况下不能及时的获取实时变更的配置文件信息
      springcloud分布式配置中心,可以采用手动刷新或者自动刷新
            手动刷新--需要人工调用接口,读取最新配置文件(监控中心) 人工调用/actuator/refresh进行刷新(post请求)
            自动刷新--消息总线进行实时通知---springbus

搭建步骤:

 1.首先本地安装git (步骤链接如下),注册码云账号

   步骤:https://blog.csdn.net/zhangshengqiang168/article/details/100561686

      1.新建项目( 分布式配置文件  config )   

      2.创建项目配置文件夹(memberconfig)   

      3.创建配置文件(test-configClient-prd.propertiestest-configClient-sit.properties)

                (此处是配置不同环境的配置文件(测试和准生产))

      4.配置文件中分别添加测试配置信息

            info=prd.zhang.com    info=sit.zhang.com

 

源码地址 : 链接:https://pan.baidu.com/s/17-cFGA3fJFLF8gcnDZdWXg 
提取码:1q9z   具体见解压说明文件

2.搭建分布式配置中心服务端 config-server

  (此时Eureka注册中心已配置已启动,注册中心访问地址  http://localhost:8000/eureka  此处事前搭好)

     1.pom.xml依赖

<!--SpringBoot整合Eureka客户端组件-->
<dependency>
       <groupId>org.springframework.cloud</groupId>
       <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<!--SpringBoot整合config-server-->
<dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-config-server</artifactId>
</dependency>

  2.application.properties配置文件配置

#服务端口
server.port=8888
#服务名称
spring.application.name=config-server
#eureka注册中心服务地址
eureka.client.service-url.defaultZone=http://localhost:8000/eureka

#config-server读取git环境地址  直接复制码云项目地址
spring.cloud.config.server.git.uri=https://gitee.com/zsqzhang/config.git

#码云账号密码(公开的话不用配置账号密码)
spring.cloud.config.server.git.username=******
spring.cloud.config.server.git.password=******

#读取的分支环境(之前新建的项目文件夹名称)
spring.cloud.config.server.git.search-paths=memberconfig
#读取分支类型 注意看所处码云分支类型
spring.cloud.config.label=master

3.新建启动类AppConfigServer

@SpringBootApplication
@EnableEurekaClient
@EnableConfigServer //开启config server服务器端功能
public class AppConfigServer {
    
    public static void main(String[] args) {
        SpringApplication.run(AppConfigServer.class, args);
    }
}

4.启动config-server服务端项目    访问 :  ip+端口/码云新建配置文件名称 (即可访问当配置文件信息) ,服务端搭建成功

访问 http://localhost:8888/test-configClient-sit.properties   此接口会根据码云修改,实时更新

3.搭建分布式配置中心客户端 config-client

 1.添加pom.xml依赖

<!--SpringBoot整合config-client-->
<dependency>
     <groupId>org.springframework.cloud</groupId>
     <artifactId>spring-cloud-config-client</artifactId>
</dependency>
<!--actuator监控中心-->
<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--SpringBoot整合Eureka客户端组件-->
<dependency>
     <groupId>org.springframework.cloud</groupId>
     <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<!--SpringBoot整合WEB组件-->
<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-web</artifactId>
</dependency>

  2.新建配置文件 bootstrap.properties 

#服务端口
server.port=8882

#服务名称 码云配置文件test-configClient-prd.properties 的项目名称 test-configClient
spring.application.name=test-configClient

#读取版本环境 码云配置文件test-configClient-prd.properties 的环境 prd
spring.cloud.config.profile=prd

#读取config-server环境  读取的配置中心名称
spring.cloud.config.discovery.service-id=config-server

#开启读取权限
spring.cloud.config.discovery.enabled=true
##eureka注册中心服务地址
eureka.client.service-url.defaultZone=http://localhost:8000/eureka
#监控中心开启所有端点
management.endpoints.web.exposure.include=*

 3.添加测试类TestController 

@RestController
@RefreshScope //刷新  RefreshScope用新的环境参数重新生成Bean
public class TestController {

    @Value("${info}")
    private String info;

    @RequestMapping("/getinfo")
    public String getInfo(){
        return info;
    }
}

4.添加启动类APPConfigClient

@SpringBootApplication
@EnableEurekaClient
public class AppConfigClient {

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

5.启动项目 调用接口 http://localhost:8882/getinfo 访问到配置信息

   

6.修改码云配置文件test-configClient-prd.properties    info的内容

7.使用postman调用监控接口,手动刷新配置,接口地址http://localhost:8882/actuator/refresh  post请求

8.再次调用  http://localhost:8882/getinfo 访问到配置信息

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值