SrpingCloud 之SrpingCloud config分布式配置中心搭建

1、搭建git环境   目的:持久化存储配置文件信息

   采用码云

  

创建后

继续创建文件夹  用来区分不同的项目

 

下面就是git上存放配置文件了。环境的区分 dev  sit pre prd   开发  测试 预发布  准生产

 

sit  和 prd 环境

 

 

ConfigServer环境搭建:

   注意Config server也需要注册到注册中心的   client通过别名去读取 而不是实际地址哦

  

 

分别去对应:

###服务注册到eureka地址
eureka:
  client:
    service-url:
           defaultZone: http://localhost:8100/eureka
spring:
  application:
    ####注册中心应用名称
    name: config-server
  cloud:
    config:
      server:
        git:
          ###git环境地址
          uri: https://gitee.com/toov5/distributed_configuration_file.git
          ####目录文件(区分项目的)
          search-paths:
            - Test    
      ####读取分支环境        
      label: master
####服务端口号      
server:
  port: 8888

 启动类:

package com.toov5;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.config.server.EnableConfigServer;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;

@SpringBootApplication
@EnableEurekaClient
@EnableConfigServer
public class AppConfigServer {
  public static void main(String[] args) {
      SpringApplication.run(AppConfigServer.class, args);
}
}

 

 

开启Eureka 开启 ConfigServer 

 

 下面验证配置文件:

 把配置文件存放在git

在git环境上创建配置文件命名规范

   服务名称-配置名称-环境

 

 

 

提交以后,启动项目,访问:

 

 

 

 

 下面就是 搭建client 去使用配置文件

pom:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.toov5</groupId>
  <artifactId>SpringCloud-Configclient</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  
  <parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.0.1.RELEASE</version>
	</parent>
	<!-- 管理依赖 -->
	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>Finchley.M7</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

		</dependencies>
	</dependencyManagement>
	<dependencies>
		<!-- SpringBoot整合Web组件 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-config-client</artifactId>
		</dependency>
		<!-- SpringBoot整合eureka客户端 -->
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
		</dependency>
	</dependencies>
	<!-- 注意: 这里必须要添加, 否者各种依赖有问题 -->
	<repositories>
		<repository>
			<id>spring-milestones</id>
			<name>Spring Milestones</name>
			<url>https://repo.spring.io/libs-milestone</url>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</repository>
	</repositories>
  
</project>

  bootstrap.yml  (注意一定要utf-8格式的!)

spring:
  application:
    ####注册中心应用名称  git上的前缀
    name:  test-configClient
  cloud:
    config:
    ####读取后缀  prd是对应的后缀
      profile: prd
      ####读取config-server注册地址  confit-server的注册名称 别名
      discovery:
        service-id: config-server
        enabled: true
#####    eureka服务注册地址    
eureka:
  client:
    service-url:
      defaultZone: http://localhost:8100/eureka    
server:
  port: 8882

  controller

package com.toov5.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class TestController {
    @Value("${motto}")   //配置的key
  private String motto;
    
    @RequestMapping("/getMotto")
    public String getMotto() {
        return motto;
    }
}

启动

package com.toov5.controller;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

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

 

bootstrap.yml文件一定要 utf-8格式的! LZ在写次博文时候就遇到了这个问题 折腾了一会才解决的!

 

 

 

posted @ 2018-11-15 21:54  toov5  阅读(352)  评论(0编辑  收藏  举报