springCloud的使用06-----分布式配置
1 分布式配置中心的搭建
1.1 在git仓库中创建配置文件

1.2 创建springboot项目引入相应jar依赖
<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.ibeifeng.hadoop</groupId>
<artifactId>beifeng-spring-cloud-config-server</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging> <name>beifeng-spring-cloud-config-server</name>
<url>http://maven.apache.org</url> <parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.2.RELEASE</version>
<relativePath />
</parent> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
</properties> <dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Dalston.RC1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement> <dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency> <!-- 声明为web项目 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency> <!--配置config-server -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
</dependencies> <build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build> <repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
</project>
1.3 配置分布式配置中心
server:
port: 8767
spring:
application:
name: cloud-config-server
cloud:
config:
server:
git:
uri: https://gitee.com/lff521/beifeng-spring-cloud-config-server #配置git仓库地址
searchPaths: cloud-config-repo #配置仓库路径
#username: your username #用户名
#password: your password #密码
label: master #配置仓库的分支
1.4 在启动类中声明为配置服务中心
@SpringBootApplication //相当于@Configuration、@EnableAutoConfiguration和 @ComponentScan
@EnableConfigServer //激活该应用为配置文件服务器
public class SpringCloudConfigServer { public static void main(String[] args) {
SpringApplication.run(SpringCloudConfigServer.class, args);
}
}
1.5 启动查看效果

2 使用配置中心的配置搭建项目
2.1 创建springboot项目,引入jar依赖
<!-- 配置文件服务器客户端所需要的依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-client</artifactId>
</dependency>
2.2 配置读取配置的配置中心(配置文件的名称必须为bootstrap,不能使用application)
server:
port: 8768
spring:
application:
name: cloud-config-client
cloud:
config:
label: master #配置git上的分支
name: cloud-config
uri: http://localhost:8767 #配置服务器地址
profile: dev #配置文件 dev开发,pro生产,test测试
2.3 在项目中直接使用配置中心的配置
@SpringBootApplication
@RestController
public class SpringCloudConfigClient { //将配置服务器端的 my.message=hellowordPro信息注入到ConfigUrl变量中
@Value("${my.message}")
private String ConfigUrl; @RequestMapping("/info")
String hello(){
return "hello :"+ConfigUrl;
} public static void main(String[] args) {
SpringApplication.run(SpringCloudConfigClient.class, args);
}
}
2.4 启动查看效果

3 配置中心集群的搭建和使用(使用eureka实现)
3.1 搭建配置中的的集群
3.1.1 引入依赖
<!-- 配置eureka -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
3.1.2 在配置文件中指定注册中心地址
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/ #注册服务器地址
3.1.3 在启动类中声明使用eureka
@EnableEurekaClient
3.2 客户端使用配置中心集群
3.2.1 引入依赖
<!-- 配置eureka -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
3.2.2 指定注册中心地址和配置中心集群地址
server:
port: 8768
spring:
application:
name: cloud-config-client
cloud:
config:
label: master #配置git上的分支
name: cloud-config
#uri: http://localhost:8767 #配置服务器地址
profile: dev #配置文件 dev开发,pro生产,test测试
discovery:
enabled: true #从配置中心读取文件
serviceId: cloud-config-server #配置中心服务名称
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/ #注册服务器地址
3.2.3 在启动类中声明使用eureka
@EnableEurekaClient
springCloud的使用06-----分布式配置的更多相关文章
- SpringCloud(6)分布式配置中心Spring Cloud Config
1.Spring Cloud Config 简介 在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件.在Spring Cloud中,有分布式配置中心组 ...
- 白话SpringCloud | 第八章:分布式配置中心的服务化及动态刷新
前言 上一章节,简单介绍了分布式配置中心Spring Cloud Config的使用.同时,我们也遗漏了一些问题,比如如何配置实时生效,当服务端地址变更或者集群部署时,如何指定服务端地址?回想,在服务 ...
- Springcloud 2.x 版本 分布式配置中心
一.什么是分布式配置中心? 就是为微服务架构中的微服务提供集中化的外部配置支持,配置中心为各个微服务应用的所有环境提供了中心化的外部配置(可能比较难理解,想知道是什么意思就要知道为什么这么配置:这么配 ...
- springcloud eureka注册中心分布式配置
最近在学习springcloud,做下笔记以及记下遇到的坑. 1.建立maven工程,结构很简单,一个启动类和一个配置文件,结构如下图所示 2.启动类代码如下,需要添加注册中心注解:EnableEur ...
- SpringCloud使用Consul作为分布式配置中心
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_36027670/article/de ...
- SpringCloud学习之Config分布式配置中心(八)
统一配置中心概述 如果微服务架构中没有使用统一配置中心时,所存在的问题: 配置文件分散在各个项目里,不方便维护 配置内容安全与权限,实际开发中,开发人员是不知道线上环境的配置的 更新配置后,项目需要重 ...
- SpringCloud学习之快速搭建分布式配置
一. 关于spring-cloud中的分布式配置 Spring Cloud Config为分布式系统中的外部配置提供服务器和客户端支持.使用Config Server,您可以在所有环境中管理应用程序的 ...
- SpringCloud的分布式配置及消息总线
1.在搭建分布式配置时,我们大概看下分布式配置的流程 如图所示: 当一个系统中的配置文件发生改变的时候,我们需要重新启动该服务,才能使得新的配置文件生效,spring cloud config可以实现 ...
- SpringCloud教程 | 第六篇: 分布式配置中心(Spring Cloud Config)
一.简介 在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件.在Spring Cloud中,有分布式配置中心组件spring cloud config ...
- 史上最简单的SpringCloud教程 | 第六篇: 分布式配置中心(Spring Cloud Config)
一.简介 在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件. 在Spring Cloud中,有分布式配置中心组件spring cloud confi ...
随机推荐
- CSS3中resize属性
说明: resize属性是指定一个元素是否可由用户调整大小的. 语法: resize:none | both | horizontal | vertical none:用户不可一调整元素的尺寸(默认值 ...
- C# DataTable、实体相互转换
public static T GetEntity<T>(DataTable table) where T : new() { T entity = new T(); foreach (D ...
- rabbitmq windows安装 及 centos安装
windows安装如下: 安装方法如下网址: https://baijiahao.baidu.com/s?id=1605656085633071281&wfr=spider&for= ...
- proc - 进程信息伪文件系统
描述 /proc 是一个伪文件系统, 被用作内核数据结构的接口, 而不仅仅是解释说明 /dev/kmem. /proc里的大多数文件都是只读的, 但也可以通过写一些文件来改变内核变量. 下面对整个 / ...
- Gradle构建SpringBoot并打包可运行的jar配置
使用Gradle构建项目,继承了Ant的灵活和Maven的生命周期管理,不再使用XML作为配置文件格式,采用了DSL格式,使得脚本更加简洁. 构建环境: jdk1.6以上,此处使用1.8 Gradle ...
- Sass:RGB颜色函数-Red()、Green()、Blue()函数
Red() 函数 red() 函数非常简单,其主要用来获取一个颜色当中的红色值.假设有一个 #f36 的颜色,如果你想得到 #f36 中的 red 值是多少,这个时候使用 red() 函数就能很简单获 ...
- LOJ149 0/1分数规划
竟然没有写过分数规划的题解 考前挣扎一发板子( 二分答案k 然后0/1分数规划的方法就是 分母乘过去然后贪心解决 注意实数二分的精度 一般估计一个次数比较好不然容易出现精度比较误差[惨痛教训 就做完了 ...
- Boyer-Moore
Boyer-Moore 只做这些失败的匹配,就可以排除掉相应的对齐位置.在BM算法中,模式串P与文本串T的对准位置依然自左向右移动,而在对准位置确是自右向左的逐一比对各个字符串,具体的,在每一轮自右向 ...
- thread 类详解
java.lang.Thread类详解 一.前言 位于java.lang包下的Thread类是非常重要的线程类,它实现了Runnable接口,今天我们来学习一下Thread类,在学习Thread类之前 ...
- [Java复习] 微服务
1. 怎么样定义一个微服务,或划分服务比较合理?业务导向的共性? 对应服务拆分,先设计高内聚低耦合的领域模型(DD),再实现相应的分布式系统是一种比较合理的方式. 微服务是手段,不是目的.目的是为了让 ...