在Spring Cloud Config Github配置中心

这篇具有很好参考价值的文章主要介绍了在Spring Cloud Config Github配置中心。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

关于Spring Cloud系列我们其实讲解了很多,但是这里我们介绍一下Spring Cloud Config,它是一个解决分布式系统的配置管理方案,他包含了Client 和 Server 两个部分,server提供配置文件的存储,以接口的方式将配置文件内容提供出去,Client通过接口获取相关数据,并依据数据初始化自己的应用,Spring Cloud 使用git或者svn存放配置文件,默认情况下使用git。

我们第一步,在github上创建一个文件夹Springcloud-config用来存放配置文件,我们可以创建三配置文件,分别如下:

//开发环境
springcloud-config-dev.properties
//测试环境
springcloud-config-test.properties
//生产环境
springcloud-config-pro.properties

之后我们为每个配置文件都写一个springcloud.miaow,属性值分别是,你好,miaow-dev/test/pro。

springcloud:
  miaow: hello,miaow-dev
springcloud:
  miaow: hello,miaow-test
springcloud:
  miaow: hello,miaow-pro

这个是我们正常的开发逻辑,但是为了不一样,我采用我自己的方式进行,如下图所示我在gitee上进行
在Spring Cloud Config Github配置中心,# Spring,github

在Spring Cloud Config Github配置中心,# Spring,github

server端

pom.xml文件

<?xml version="1.0" encoding="UTF-8"?>

<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">
    <parent>
        <artifactId>springCloud</artifactId>
        <groupId>com.miaow</groupId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>spring-cloud-config-git</artifactId>

    <name>spring-cloud-config-git</name>
    <!-- FIXME change it to the project's website -->
    <url>http://www.example.com</url>

    <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>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-server</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

    </dependencies>
</project>

配置相关文件Application.yml

server:
  port: 3421
spring:
  application:
    name: spring-cloud-config-server
  cloud:
    config:
      server:
        git:
          uri: https://github.com/ # git仓库的地址
          search-paths: /**/springcloud-config-server  # git仓库地址下的相对地址,可以配置多个,用,分割。
          username: #Git仓库用户名
          password: #Git仓库密码

启动类:

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

客户端Client

<?xml version="1.0" encoding="UTF-8"?>

<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">
    <parent>
        <artifactId>springCloud</artifactId>
        <groupId>com.miaow</groupId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>spring-cloud-config-git</artifactId>

    <name>spring-cloud-config-git</name>
    <!-- FIXME change it to the project's website -->
    <url>http://www.example.com</url>

    <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>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>

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

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

    </dependencies>
</project>

配置文件Application.yml

注意这个是我们作为客户端的配置文件,可以进行多个添加,我们根据Spring Boot解析配置文件的先后顺序分别创建两个文件:
application.yml和bootstrap.properties。

application
server:
  port: 4322
spring:
  application:
    name: spring-cloud-config-client
bootstrap
spring.cloud.config.name=springcloud-config # 如果以我的方式,springcloud-zuul-dev。
spring.cloud.config.profile=dev
spring.cloud.config.uri=http://localhost:8080/
spring.cloud.config.label=master
spring.application.name:对应{application}部分
spring.cloud.config.profile:对应{profile}部分
spring.cloud.config.label:对应git的分支。如果配置中心使用的是本地存储,则该参数无用
spring.cloud.config.uri:配置中心的具体地址
spring.cloud.config.discovery.service-id:指定配置中心的service-id,便于扩展为高可用配置集群。

启动类

@SpringBootApplication
public class ClientApplication {

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

创建一个控制层

@RestController
public class HelloController {

    @Value("${springcloud.miaow}")
    private String hello;

    @RequestMapping("/hello")
    public String from() {
        return this.hello;
    }
}

之后我们启动项目并访问:http://localhost:4322/hello

如果返回:hello,miaow-dev,,说明已经正确的从server端获取到了参数。到此一个完整的服务端提供配置服务,客户端获取配置参数的例子就完成了。

将配置文件上传到GitHub仓库中,按照以下格式命名

{application}-{profile}.properties

结束

使用GitHub作为配置中心的好处如下:文章来源地址https://www.toymoban.com/news/detail-803019.html

  • 集中管理配置文件:将所有应用程序的配置文件存储在一个地方,方便管理和维护。
  • 动态刷新配置:当配置文件发生变化时,Spring Cloud应用程序可以自动获取最新的配置,无需重启应用程序。
  • 安全性:GitHub提供了访问控制和身份验证功能,可以保证配置文件的安全性。
  • 可扩展性:可以使用Git的分支和标签功能,为不同的环境和版本管理不同的配置文件。
  • 可视化管理:可以使用GitHub的Web界面,方便地查看和编辑配置文件。

到了这里,关于在Spring Cloud Config Github配置中心的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spring Cloud之Config分布式配置应⽤

    . 右键⽗⼯程【 yx-parent 】选择【 New 】 - 【 Module 】选项,然后选择创建【 Maven 】类型项⽬(不勾选模 板),将项⽬名称设置为【yx-cloud-config 】。   在 yx-cloud-config ⼯程的 pom.xml⽂件中引⼊以下依赖坐标(需要将⾃⼰注册到 Eureka )。 在 com.yx.config 包下创建 ConfigApplication 启

    2024年02月15日
    浏览(49)
  • Spring Cloud【Config客户端配置与测试、Config客户端之动态刷新 、什么是Spring Cloud Bus、Docker安装RabbitMQ】(十)

      目录 分布式配置中心_Config客户端配置与测试 为什么要引入bootstrap 

    2024年02月15日
    浏览(43)
  • Spring Cloud Config配置服务及那些你不知道的坑

    目录 1、为什么选择Spring Cloud Config 1.1 集中式管理 1.2 动态修改配置 2、Spring Cloud Config 简介 3、服务端配置 3.1 添加依赖 3.2 开启服务注册 3.3 添加YML配置 3.4 创建远程分支及Profile配置文件 3.5 启动并测试服务 4、客户端配置 4.1 添加依赖 4.2 开启服务注册 4.3 添加YML配置 4.4 启动并

    2024年02月05日
    浏览(45)
  • 阿里巴巴开源的Spring Cloud Alibaba手册在GitHub上火了

    “微服务架构经验你有吗?” 前段时间一个朋友去面试,阿里面试官一句话问倒了他。实际上,不在BAT这样的大厂工作,是很难接触到支撑千亿级流量微服务架构项目的。 但也正是这种难得,让各个大厂都抢着要这样的人才! 下面这十道题是他当时阿里三面时被问到的,基

    2024年02月09日
    浏览(73)
  • Spring Cloud集成Nacos实现服务配置中心 | Spring Cloud 7

    先我们来看一下,微服务架构下关于配置文件的一些问题: 配置文件相对分散。在一个微服务架构下,配置文件会随着微服务的增多变的越来越多,而且分散在各个微服务中,不好统一配置和管理。 配置文件无法区分环境,开发环境、测试环境、线上环境。微服务项目可能会

    2024年02月14日
    浏览(53)
  • 微服务 – Spring Cloud – Nacos 配置中心

    Data ID : nacos-config-client-dev.yaml Group: DEV-CLOUD2023

    2024年02月11日
    浏览(61)
  • Spring Cloud Alibaba nacos配置中心

    第一章 Java线程池技术应用 第二章 CountDownLatch和Semaphone的应用 第三章 Spring Cloud 简介 第四章 Spring Cloud Netflix 之 Eureka 第五章 Spring Cloud Netflix 之 Ribbon 第六章 Spring Cloud 之 OpenFeign 第七章 Spring Cloud 之 GateWay 第八章 Spring Cloud Netflix 之 Hystrix 第九章 代码管理gitlab 使用 第十章 Spr

    2024年02月08日
    浏览(54)
  • Spring Cloud集成Nacos作为配置中心

    Nacos的安装与配置 Spring Cloud集成Nacos作为注册中心 LoadBalacer集成Nacos实现负载均衡 常见的负载均衡策略分析 Spring Cloud集成Dubbo实现RPC调用 前面我们已经介绍了 Nacos 的安装与配置, Spring Cloud 集成 Nacos 作为服务的注册中心,集成 Nacos 实现服务的负载均衡和一些常见的负载均衡

    2024年02月15日
    浏览(52)
  • Spring Cloud Gateway集成Nacos作为注册中心和配置中心

    本篇文章将介绍Spring Cloud Alibaba体系下Spring Cloud Gateway的搭建,服务注册中心和分布式配置中心使用Nacos,后续将会持续更新,介绍集成Sentinel,如何做日志链路追踪,如何做全链路灰度发布设计,以及Spring Cloud Gateway的扩展等。 ​ Spring Boot,Spring Cloud,Discovery,Config等基础依

    2024年02月11日
    浏览(101)
  • Spring Cloud Alibaba Nacos 构建配置中心

    登录 Nacos 面板,依次点击左侧菜单栏【命名空间→新建命名空间】、填写命名空间名和描述信息,点击【确定】: 依次点击左侧菜单栏【配置管理→配置列表】、切换到指定命名空间【此处为 shop】、点击右侧【+】号: 添加配置 填写【Data ID】要求组内唯一,【Group】组名,

    2024年02月08日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包