3配置中心(代码片段)

author author     2022-12-05     112

关键词:

公众号: java乐园

1、 当一个系统中的配置文件发生改变的时候,经常的做法是重新启动该服务,才能使得新的配置文件生效,spring cloud config可以实现微服务中的所有系统的配置文件的统一管理,而且还可以实现当配置文件发生变化的时候,系统会自动更新获取新的配置。
技术图片
将配置文件放入git或者svn等服务中,通过一个Config Server服务来获取git或者svn中的配置数据,二其他服务需要配置数据时在通过Config Client从Config Server获取。
2、 在git仓库新建如下图目录
技术图片
具体内容查看:https://gitee.com/hjj520/spring-cloud-2.x/tree/master/config-repos
3、 新建maven项目sc-config-server,对应pom.xml

<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>spring-cloud</groupId>
    <artifactId>sc-config-server</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>sc-config-server</name>
    <url>http://maven.apache.org</url>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.4.RELEASE</version>
    </parent>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Finchley.RELEASE</version>
                <type>pom</type>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-server</artifactId>
            <version>2.0.1.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
            <version>2.0.1.RELEASE</version>
        </dependency>
    </dependencies>
</project>

4、 新建类ConfigServerApplication.java

package sc.config.server;

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
@EnableConfigServer
@EnableEurekaClient
public class ConfigServerApplication 

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

5、 创建bootstrap.yml文件

#服务端口
server:
    port: 8100

#服务注册中心
eureka:
    client:
        registerWithEureka: true #是否将自己注册到Eureka服务中,默认为true
        fetchRegistry: true #是否从Eureka中获取注册信息,默认为true
        serviceUrl:
            defaultZone: http://localhost:5001/eureka/
    instance: 
        prefer-ip-address: true #将自己的ip地址注册到Eureka服务中
        ipAddress: 127.0.0.1

spring:
    application:
        name: sc-config-server #服务名称
    cloud:
        config:
            label: master #配置文件所在的分支
            server:
                git:
                    uri: https://gitee.com/hjj520/spring-cloud-2.x.git #服务的git仓库地址
                    #git仓库的用户名
                    #username: huangjinjin
                    #git仓库的密码
                    #password: ********
                    search-paths: /config-repos/sc-consumer-config  #配置文件所在的目录

备注:search-paths可以使用占位符application,不过需要注意的必须使用这样的方式:’application’ (单引号引起来),不然可能出现https://blog.csdn.net/weixin_35022258/article/details/79019033帖子说的问题,具体这个占位符以后会说到。

6、 启动注册中心Eureka,然后在启动sc-config-server项目
技术图片
http请求地址和资源文件映射如下:
/application/profile[/label]
/application-profile.yml
/label/application-profile.yml
/application-profile.properties
/label/application-profile.properties
具体可以使用哪种http请求地址和资源文件映射可以在config server的日志可以看到
技术图片
7、 验证获取仓库中的配置数据
http://127.0.0.1:8100/application/dev
技术图片
http://127.0.0.1:8100/application/prd

技术图片

源码:https://gitee.com/hjj520/spring-cloud-2.x

3配置中心(代码片段)

公众号:java乐园1、当一个系统中的配置文件发生改变的时候,经常的做法是重新启动该服务,才能使得新的配置文件生效,springcloudconfig可以实现微服务中的所有系统的配置文件的统一管理,而且还可以实现当配置文件发生变... 查看详情

java学习---springcloudconfig分布式配置中心(代码片段)

Spring-Cloud-Config分布式配置1、简介 1.1、问题 1.2、服务架构 1.3、仓库2、仓库创建 2.1、创建远程仓库 2.2、创建配置文件3、搭建配置中心微服务 3.1、添加项目依赖 3.2、配置启动类 3.3、添加配置文件 3.4、启动测试4、获取配... 查看详情

分布式配置中心(nacosapollo)选型比较(代码片段)

分布式配置中心(Nacos、Apollo)选型比较1.配置中心1.1什么是配置1.2什么是配置中心1.3为什么需要配置中心1.4配置中心小结2.开源配置中心介绍2.1Nacos2.1.1简介2.1.2特性2.1.3架构2.1.4开发2.1.5灰度2.1.5部署2.1.6小结2.2Apollo2.2.1简... 查看详情

apollo配置中心(代码片段)

文章目录1概览1.1什么是配置1.2什么是配置中心2Apollo简介2.1主流配置中心2.1.1功能特性对比2.1.2总结2.2Apollo简介2.3Apollo特性3Apollo快速入门3.1执行流程3.2安装Apollo3.2.1运行时环境3.2.2下载配置3.2.3创建数据库3.2.4启动Apollo3.3代码实现3.3... 查看详情

springcloudalibaba之nacos组件(代码片段)

...目搭建4.2、Nacos服务消费者项目搭建4.3、结果分析5、Nacos配置中心5.1、Nacos配置中心基础配置5.2、Nacos配置中心分类配置5.3、Nacos集群和持久化配置(重要)该篇博 查看详情

微服务——注册中心(eurekanacos)(代码片段)

目录1.概念2.Eureka1.服务搭建1.依赖导入2.配置文件3.启动项目2.服务注册1.依赖导入2.配置文件3.启动多个实例3.服务发现1.依赖导入2.配置文件3.服务拉取和负载均衡4.小结3.Ribbon1.负载均衡流程2.负载均衡策略3.加载策略4.Nacos1.下载安... 查看详情

springcloud微服务应用-config配置中心(介绍搭建动态刷新测试)(代码片段)

文章目录前言一、传统应用配置痛点二、Config配置中心介绍三、服务端ConfigServer搭建1.pom依赖2.application启动类配置3.application.yml配置4.test-dev.xml(客户端应读取的配置)5.项目结构四、客户端ConfigClient搭建1.pom依赖2.application启动类配... 查看详情

springcloud微服务应用-config配置中心(介绍搭建动态刷新测试)(代码片段)

文章目录前言一、传统应用配置痛点二、Config配置中心介绍三、服务端ConfigServer搭建1.pom依赖2.application启动类配置3.application.yml配置4.test-dev.xml(客户端应读取的配置)5.项目结构四、客户端ConfigClient搭建1.pom依赖2.application启动类配... 查看详情

6.springcloud--注册中心与配置中心nacos网关gateway(代码片段)

6.SpringCloud--注册中心与配置中心Nacos、网关Gateway一、了解一下SpringCloudAlibaba1.1SpringCloudAlibaba(1)简单说明(2)SpringCloudAlibaba(3)引入依赖1.2SpringCloudAlibaba主要功能与实现组件(1 查看详情

最新版springcloudalibaba微服务架构-config配置中心篇(代码片段)

...区分环境3、无法实时更新4、安全无法保证二、Config引入配置1、配置文件格式1.1命名空间(Namespace)1.2配置分组(Group)1.3配置集(DataID)2、导入pom依赖3、新建配置文件4、添加bootstrap.yml配置文件5、测试6、配置的动态更新7、命名空间8... 查看详情

agileconfig轻量级配置中心1.3.0发布,支持多用户权限控制(代码片段)

AgileConfig当初是设计给我自己用的一个工具,所以只设置了一道管理员密码,没有用户的概念。但是很多同学在使用过后都提出了需要多用户支持的建议。整个团队或者整个公司都使用同一个密码来管理非常的不方便。今天AgileCo... 查看详情

1.4.2seata以nacos作为注册中心的配置和使用(代码片段)

1.4.2Seata以nacos作为注册中心的配置和使用1.下载Seata1.4.2(1).解压Seata1.4.2(2).Seata目录如下(3).下载SeataSourceCode(4).解压后找到Script目录2.配置seata(1).创建相关数据库和表建表语句(2).修改file.conf文件(3).修改registry.conf文件(4).把配置上传... 查看详情

1.4.2seata以nacos作为注册中心的配置和使用(代码片段)

1.4.2Seata以nacos作为注册中心的配置和使用下载Seata1.4.21.解压Seata1.4.22.Seata目录如下3.下载SeataSourceCode4.解压后找到Script目录配置seata1.创建相关数据库和表建表语句2.修改file.conf文件3.修改registry.conf文件4.把配置上传到nacos在context.txt... 查看详情

7-springcloud-eureka-3-搭建与配置eureka服务注册中心(代码片段)

...是一个SpringBoot工程,我们只需通过引入相关依赖和注解配置就能让SpringBoot构建的微服务应用轻松地与Eureka进行整合。具体步骤如下:1、创建一个SpringBoot项目,并且添加SpringBoot的相关依赖; demo1-eureka2、添加eureka的依赖 ... 查看详情

12.统一配置中心config自动刷新组件之bus(代码片段)

统一配置中心Config自动刷新组件之Bus前言什么是Bus刷新原理刷新实现安装RabbitMQConfigServer端配置1.pom.xml2.application.properties3.重新启动ConfigServerConfigClient端配置1.pom.xml2.修改配置文件3.bootstrap.properties4.测试开启Server端的web端点暴露1.a... 查看详情

nacos-配置管理(代码片段)

文章目录Nacos-配置管理1.什么是配置中心1.1什么是配置1.2什么是配置中心2.Nacos简介2.1主流配置中心对比2.2Nacos简介2.3Nacos特性3.Nacos快速入门安装NacosServer启动NacosServer在浏览器中访问nacos向nacos中发布配置从nacos中获取配置关闭nacos... 查看详情

springcloudalibaba微服务2,注册中心演变+nacos注册中心与配置中心(代码片段)

...4、服务发现5、服务健康检查五、作为注册中心六、作为配置中心1、SpringBoot集成Nacos2、支持配置的动态更新3、可支持profile粒度的配置4、支持自定义namespace的配置5、支持自定义Group的配置6、配置优先级7、@RefreshScope8、SpringClo... 查看详情

apollo微服务配置中心详解(代码片段)

Apollo微服务配置中心详解前言一、Apollo架构(一)简介(二)角色介绍(三)服务端实现(四)客服端实现二、Apollo部署(一)准备数据库(二)配置服务1.手动部署(1)Confi... 查看详情