Spring-cloud Config Server的3种配置方式

Spring Cloud Config Server提供了3种配置方式,具体如下:

1. 本地文件系统配置

本地文件系统配置是Spring Cloud Config Server默认采用的一种方式。通过设置spring.profiles.active=native,配置文件会从本地文件系统中读取,例如:

spring:
  profiles:
    active: native
  application:
    name: test-app
  cloud:
    config:
      server:
        native:
          searchLocations: file:///${user.home}/config-repo

这里指定了读取位置为file:///${user.home}/config-repo,即在用户的home目录下的config-repo文件夹内。

示例:

假设config-repo路径下存在名为test-app.properties的配置文件,其内容如下:

server.port=8080

此时,在应用启动时,Spring Cloud Config Server会将配置文件中的端口号设置为8080。

2. Git仓库配置

除本地文件系统配置外,Spring Cloud Config Server还提供了从Git仓库中获取配置的方式,并可选择使用Git附加密码来保护Git仓库的私有性。

spring:
  cloud:
    config:
      server:
        git:
          uri: https://github.com/spring-cloud-samples/config-repo # Git仓库地址
          search-paths: '{application}' # 读取Git仓库下的哪个目录中的配置文件
          username: myusername # Git账户名(可选)
          password: mypassword # Git账户密码(可选)

例如,在Git仓库中有一个名为test-app.properties的配置文件,其内容如下:

server.port=8080

此时,在应用启动时,Spring Cloud Config Server会将配置文件中的端口号设置为8080。

3. 配置中心消息总线配置

Spring Cloud Config Server还支持使用消息总线的方式,进行配置更新,使各服务在配置变化时自动更新。

使用消息总线更新配置时,需要在服务中增加spring-cloud-starter-bus-amqp依赖。同时,需要在application.properties中配置RabbitMQ消息队列的地址、账号密码等信息。

spring.rabbitmq.host=127.0.0.1
spring.rabbitmq.username=username
spring.rabbitmq.password=password

在Spring Cloud Config Server的配置文件中增加spring.cloud.config.server.monitor.enable=true选项后,每次向配置中心更新配置文件时,Spring Cloud Config Server都会向消息总线发送POST请求,将更新消息广播出去。

例如,有多个服务连接到了配置中心,为了更新服务的配置,只需使用以下curl命令向Spring Cloud Config Server的/actuator/bus-refresh接口发起POST请求:

curl -X POST http://localhost:8080/actuator/bus-refresh

接着Spring Cloud Config Server会向消息总线发送刷新配置消息,各服务收到该消息后,即可在不重启的情况下更新已选中自己的配置文件。

总之,Spring Cloud Config Server可以灵活地根据需要选择不同的配置方式,方便配置中心的管理和维护。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring-cloud Config Server的3种配置方式 - Python技术站

(0)
上一篇 2023年6月25日
下一篇 2023年6月25日

相关文章

  • Vue脚手架编写试卷页面功能

    Vue脚手架编写试卷页面功能攻略 本攻略将详细介绍如何使用Vue脚手架编写试卷页面功能。Vue脚手架是一个用于快速搭建Vue项目的工具,它提供了一套基础的项目结构和配置,使得开发者可以更加高效地开发Vue应用。 步骤一:创建Vue项目 首先,我们需要使用Vue脚手架创建一个新的Vue项目。请确保你已经安装了Node.js和Vue脚手架。 打开终端,执行以下命…

    other 2023年8月3日
    00
  • 用PHP实现递归循环每一个目录

    要用PHP实现递归循环每一个目录,可以遵循以下步骤: 使用PHP中的opendir()函数打开目录,并使用readdir()函数读取目录中的文件和文件夹; 判断读取的目录项是否为文件夹,如果是文件夹,则使用递归的方式进入该文件夹,继续读取其中的文件和文件夹; 如果读取到的是文件,则根据需要进行操作,比如输出文件名等; 在每次调用自身完成递归读取后,需要使用c…

    other 2023年6月27日
    00
  • Android布局之绝对布局AbsoluteLayout详解

    那我来为你详细讲解“Android布局之绝对布局AbsoluteLayout详解”的完整攻略。 什么是绝对布局? 绝对布局(AbsoluteLayout)是Android中一种非常基础的布局,它可以让我们指定每个控件的具体位置,控件的位置取决于其左侧和顶部的偏移量。这种布局方式的好处是可以精确定位控件,使其按照我们的设计放置。但是,由于控件位置是绝对的,因此…

    other 2023年6月26日
    00
  • createtableselectfrom和insertintotableselectf

    以下是关于“CREATE TABLE SELECT FROM和INSERT INTO TABLE SELECT FROM”的完整攻略,包括基本概念、解决方法、示例说明和注意事项。 基本概念 在关系型数据库中,CREATE TABLE语句用于创建新的表,SELECT语句用于从表中检索数据,INSERT INTO语句用于向表中插入数据。CREATE TABLE …

    other 2023年5月7日
    00
  • velocity模板引擎学习(2)-velocitytools2.0

    velocity模板引擎学习(2)-velocitytools2.0 Velocity是一种简单、高效的模板引擎,它可以用来处理Web应用程序中的动态Web页面、电子邮件等。而Velocity Tools则是一组工具,为Velocity模板引擎增加了额外的功能,使其更加方便快捷。 本文将重点介绍Velocity Tools的一个重要版本——velocityt…

    其他 2023年3月29日
    00
  • win10怎么更改文件扩展名?win10电脑文件属性扩展名更改方法

    Win10怎么更改文件扩展名? 在Win10操作系统中,更改文件扩展名是一项简单的任务。下面是一份完整的攻略,详细介绍了如何在Win10电脑上更改文件扩展名。 步骤1:显示文件扩展名 在开始更改文件扩展名之前,我们需要确保文件扩展名是可见的。按照以下步骤进行操作: 打开文件资源管理器(可以通过按下Win + E快捷键来快速打开)。 在文件资源管理器的顶部菜单…

    other 2023年8月5日
    00
  • 麦芒8手机值得买吗 麦芒8手机上手体验及评测

    麦芒8手机值得买吗? 如果你正在寻找一款性价比较高的手机,那么麦芒8手机会是一个不错的选择。下面我将从性能、外观、摄像头和使用体验等方面为大家进行评测。 性能 麦芒8搭载的是联发科Helio P60处理器,配备4GB/6GB RAM,64GB/128GB存储空间,最高支持256GB的扩展储存。在日常使用过程中,手机的反应速度很快,可以快速地运行各种应用程序和…

    other 2023年6月27日
    00
  • 强行退出Mac上应用程序的6 种方法

    当我们在Mac上使用应用程序时,有时候会遇到应用程序崩溃或者无响应的情况,这时我们就需要强制退出程序。下面,我会分享六种在Mac上强制退出应用程序的方法。 方法一: 使用快捷键 按住command+option+esc键直到弹出“强制退出程序”窗口,选择需要终止的应用程序,然后点击“强制退出”按钮即可退出程序。 [示例]:当我们正在使用Safari浏览器时,…

    other 2023年6月25日
    00
合作推广
合作推广
分享本页
返回顶部