码迷,mamicode.com
首页 > 编程语言 > 详细

spring boot2X集成spring cloud config

时间:2019-11-29 00:51:43      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:eal   blog   release   trying   search   files   ram   cal   nbsp   

Spring Cloud Config为分布式系统中的外部配置提供服务器和客户端支持

Spring Cloud Config 分为

  Config Server:

    分布式配置中心,是一个独立的微服务应用,用来连接配置服务器并为客户端提供获取配置信息

  Config Client:

    通过指定配置中心来管理应用资源,以及与业务相关的配置内容,并在启动的时候从配置中心获取和加载配置信息

Spring boot版本2.1.8.RELEASE

服务中心使用Consu

1.配置中心(服务端)

easy-config

(1)添加依赖

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--配置中心-->
<dependency>
     <groupId>org.springframework.cloud</groupId>
     <artifactId>spring-cloud-config-server</artifactId>
</dependency>
<dependency>
     <groupId>org.springframework.cloud</groupId>
     <artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>

(2)配置

  添加bootstrap.properties

server.port=8091
spring.application.name=easy-config
spring.cloud.consul.host=localhost
spring.cloud.consul.port=8500
spring.cloud.consul.discovery.service-name=${spring.application.name}
spring.cloud.consul.discovery.instance-id=${spring.application.name}:${server.port}
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always

spring.profiles.active=native
spring.cloud.config.server.native.search-locations=classpath:/config/

(3)修改启动类

package com.tydt.easy.config;

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

@EnableConfigServer
@SpringBootApplication
public class EasyConfigApplication {

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

}

2.客户端

easy-api

(1)添加依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-config</artifactId>
</dependency>

(2)配置

  添加配置bootstrap.properties

server.port=8083
spring.application.name=easy-api
spring.profiles.active=dev
spring.cloud.consul.host=localhost
spring.cloud.consul.port=8500

spring.cloud.consul.discovery.health-check-path=/actuator/health
spring.cloud.consul.discovery.service-name=${spring.application.name}
spring.cloud.consul.discovery.heartbeat.enabled=true

management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always

spring.cloud.config.discovery.enabled=true
spring.cloud.config.discovery.service-id=easy-config
#设为true,如果无法连接config server,启动时会抛异常,并停止服务
spring.cloud.config.fail-fast=true

3.测试

启动Consu

启动easy-config

浏览器访问 http://localhost:8091/easy-api/dev

返回结果

{
    "name": "easy-api",
    "profiles": [
        "dev"
    ],
    "label": null,
    "version": null,
    "state": null,
    "propertySources": [
        {
            "name": "classpath:/config/easy-api-dev.properties",
            "source": {
                "spring.datasource.url": "jdbc:mysql://localhost:3306/db?serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=convertToNull&allowPublicKeyRetrieval=true",
                "spring.datasource.username": "root",
                "spring.datasource.password": "root",
                "spring.datasource.driver-class-name": "com.mysql.cj.jdbc.Driver"
            }
        }
    ]
}

启动easy-api

以前的数据查询可以正常访问

完成

说明:

  如果出现Connect Timeout Exception on Url - http://localhost:8888. Will be trying the next url if available

  无论在 Config Server 中配置什么端口,Config Client 启动时,会去访问都默认的 8888 端口

  出现这种情况可以删掉以前的配置文件

  在resources文件夹下,新建 bootstrap.properties 文件( bootstrap.yml) 

  为什么会这样呢?application.properties(application.yml)同bootstrap.properties(bootstrap.yml)的区别是什么呢?查看

Spring官方文档中文版

spring boot2X集成spring cloud config

标签:eal   blog   release   trying   search   files   ram   cal   nbsp   

原文地址:https://www.cnblogs.com/baby123/p/11954919.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!