Spring Boot 配置 - Consul 配置中心

spring-boot整合consul随记 首先创建一个maven项目,使用的spring-boot版本为2.3.5.RELEASE,对应的spring cloud版本为Hoxton.RELEASE。我们在这个父项目里创建一个子模块consul-dev,如果使用idea的话,就在父项目上,右键new module,完善模块信息后就创建出来了,模块会配置在上面标签中。我的consul是用docker部署到Linux服务器上的,你自己测试的时候可以本地下载个windows版本的。我自己用的是latest最新版,你可以选择你喜欢的版本。 阅读详情

▶ Spring Boot 依赖与配置

Maven 依赖

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

    <dependencies>

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

    </dependencies>

▶ 使用说明

1、部署 Consul

  • 参考文档:上一篇

2、在 resources 路径下添加配置文件 bootstrap.properties,示例如下:

# consul 基本配置
spring.cloud.consul.host=127.0.0.1
spring.cloud.consul.port=8500

# 启用 consul 配置中心
spring.cloud.consul.config.enabled=true

# 基础文件夹,默认值 config
spring.cloud.consul.config.prefix=config

# 应用文件夹,默认值 application,consul 会加载 config/<applicationName> 和 config/<defaultContext> 两份配置,设置为相同值,则只加载一份
spring.cloud.consul.config.default-context=testApp
spring.application.name=testApp

# 环境分隔符,默认值 ","
spring.cloud.consul.config.profile-separator=-

# 配置转码方式,默认 key-value,其他可选:yaml/files/properties
spring.cloud.consul.config.format=properties

# 配置 key 值,value 对应整个配置文件
spring.cloud.consul.config.data-key=data

# 启用配置自动刷新
spring.cloud.consul.config.watch.enabled=true

# 【疑问】请求 consul api 的延迟,单位:秒
spring.cloud.consul.config.watch.wait-time=1

# 刷新频率,单位:毫秒
spring.cloud.consul.config.watch.delay=10000

3、在 Consul Key/Value 中添加应用配置

配置项 spring.cloud.consul.config.prefix 指定了基本文件夹为 config,需要先创建文件夹 config:

新建分两种类型:文件夹、Key/Value,创建文件夹只需在后面加上 "/" 即可

配置项 spring.cloud.consul.config.default-context 和 spring.cloud.consul.config.profile-separator 指定了应用名和环境分隔符,例如应用 testApp 有环境 default、dev、prod,只需在 config 目录下创建 testApp、testApp-dev、testApp-prod 三个文件夹即可:

配置项 spring.cloud.consul.config.format 指定了 Value 的转化方式,依据个人喜好,可以配置为 yaml 或 properties,若选择这两种方式,需要配置 spring.cloud.consul.config.data-key,默认为 data,示例配置:

Tips:如需单独配置每个 Key/Value,spring.cloud.consul.config.format 和 spring.cloud.consul.config.data-key 均不用设置

4、配置刷新

spring.cloud.consul.config.watch.delay 设置了配置的刷新间隔,在 Consul 修改了配置,会动态同步到应用内部。

▶ Github Demo URL

  • https://github.com/ChinaSilence/spring-boot-demos/tree/master/05 - config with consul

▶ 相关文档

  • Spring Cloud Consul Config

img

天天玩微信,Spring Boot 开发私有即时通信系统了解一下

SpringBoot正确打日志的姿势

● Spring Boot 定制 parent 快速构建应用

● Spring Boot 容器化部署 - Docker

● SpringBot中教你手把手配置 https

● Spring Boot 日志处理你还在用Logback?

● 【双11狂欢的背后】微服务注册中心如何承载大型系统的千万级访问?

● Spring Boot 新一代监控你该这么玩

● Spring Boot 异常处理

● Spring Boot 配置 - 配置信息加密

● 拒绝黑盒应用-Spring Boot 应用可视化监控

● 并发Bug之源有三,请睁大眼睛看清它们

本文由博客一文多发平台 OpenWrite 发布!

Spring Boot使用Consul作为配置中心 bootstrap.yml spring: application: name: form cloud: consul: host: 10.64.43.152 config: enabled: true #设置这个属性为false将会关闭Consul配置 format: yaml data-key: ... 阅读详情

相关推荐

Spring Cloud入门-Consul服务注册发现与配置中心(Hoxton版本)

Spring Cloud Consul 为 SpringBoot 应用提供了 Consul的支持,Consul既可以作为注册中心使用,也可以作为配置中心使用,本文将对其用法进行详细介绍。Consul 简介Consul是HashiCorp公司推出的开源软件,提供了微服务系统中的服务治理、配置中心、控制总线等功能。这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建全方位的服务网格,总之Consul提供了一种完整的服务网格解决方案。

2501_90193795的博客 1267

SpringBoot(微服务)注册分布式Consul

Spring Boot应用可以通过向Consul注册自身来实现服务发现和治理,使得其他服务可以在Consul中发现并调用它。一篇文章了解Consul服务发现实现原理

南宫乘风-Linux运维-虚拟化容器-Python编程 ownit.top 3194

分布式系统-配置中心

分布式配置中心

厚积薄发 2316

Consul详细教程(SpringBoot案例)

consul是google开源的一个使用go语言开发的服务发现、配置管理中心服务。内置了服务注册与发现框 架、分布一致性协议实现、健康检查、Key/Value存储、多数据中心方案,不再需要依赖其他工具(比如ZooKeeper等)。服务部署简单,只有一个可运行的二进制的包。每个节点都需要运行agent,他有两种运行模式server和client。每个数据中心官方建议需要3或5个server节点以保证数据安全,同时保证server-leader的选举能够正确的进行。👀️。

liuerpeng1904的博客 5807

STM32移植u8g2库(HAL库)(硬件SPI)(sh1106_128x64)

STM32移植u8g2库(HAL库)(硬件SPI)(sh1106_128x64) MCU型号为STM32F103RCT6,OLED屏为中景园电子1.3寸屏,驱动芯片为sh1106,分辨率为128x64,MDK版本为V5.34。

Master_0_的博客 6272

Win11任务栏图标消失?快速恢复指南

任务栏图标消失是Windows 11操作系统中常见的问题之一,但通过上述方法,用户通常可以轻松解决这一问题。无论是重启Windows资源管理器、使用命令提示符修复、检查系统更新和设置,还是考虑重装系统,都可以帮助用户恢复任务栏图标的正常显示。希望本文的介绍能对用户有所帮助,让Windows 11的使用更加顺畅和愉快。

mmoo_python的博客 5411

springboot集成consul

consul 作为一个cloud支持的注册中心,安装方便,配置简单,小巧精致,是一款非常适合初学者来用的服务注册与发现中心;它没有nacos那样复杂,可以放配置文件,换句话说,他也没有nacos那样强大;以consul为注册中心,整合还是很快的,基本上没有版本不一致导致的各种问题,兼容性较好;另整合过程视频地址:传送门。

学海无涯,我用JAVA 1849

S32K3实战:手把手教你用eMIOS模块实现电机PWM控制(附代码)

本文详细解析了NXP S32K3系列MCU的eMIOS模块在电机PWM控制中的应用,从硬件设计到软件实现,再到调试与优化,提供了完整的实战指南。通过eMIOS模块的硬件级PWM生成能力,工程师可以实现高精度的电机控制,适用于汽车电子和工业控制领域。

weixin_42570484的博客 149

使用Spring Boot集成Consul

HashiCorp Consul 是一个支持多数据中心的服务发现和配置工具,它提供了服务注册和发现、健康检查、Key/Value 存储等功能。通过以上步骤,我们成功地将 Spring Boot 应用与 Consul 集成,实现了服务注册、服务发现和配置管理。Consul 强大的功能和 Spring Boot 的便捷集成,使得微服务架构的实现变得更加容易和高效。首先,我们使用 Spring Initializr 创建一个新的 Spring Boot 项目,并添加必要的依赖。目录下创建一个新的控制器。

省赚客开发者博客 1463

西门子 S7-200 SMART 系列六:手把手教你配置S7-200 SMART Modbus RTU

Modbus 是公开通信协议,其最简单的串行通信部分仅规定了在串行线路的基本数据传输格式。Modbus 具有两种串行传输模式,ASCII 和 RTU,它们定义了数据如何打包、解码的不同方式。支持 Modbus 协议的设备一般都支持 RTU 格式。

John_09040211的博客 7432

(一)Tushare Pro教程:股票基本数据接口

 一直使用tushare作数据源,这里开个教程大家一起学习。 一、介绍        tushare是一个python股票数据源,现已升级到tushare pro版本,新版本在数据稳定性和获取速率上大幅提升。与wind、东财等收费数据源相比,tushare pro算是金融数据界的良心之作,其为从事金融工程、量化研究等方向的同学们提供了便利。tushare pro还有一点突出的特色就是已经将股票...

虎毛的博客 4万+

Spring Boot实战系列(7)集成Consul配置中心

本篇主要介绍了 Spring Boot 如何与 Consul 进行集成,Consul 只是服务注册的一种实现,还有其它的例如 Zookeeper、Etcd 等,服务注册发现在微服务架构中扮演这一个重要的角色,伴随着服务的大量出现,服务与服务之间的配置管理、运维管理也变的难以维护,通过 Consul 可以解决这些问题,实现服务治理、服务监控。 关于 Consul 的更多知识点不在这里赘述,但是在...

weixin_34381687的博客 756

汽车车牌识别系统实现(二)--车牌定位+代码实现

汽车车牌识别系统实现(二)-- 车牌定位 前言 本人大四计算机视觉处理方面菜鸟一枚,因个人兴趣和毕设的缘故,故而想学习计算机视觉方面的内容,有不正确的地方还等各位大神批评指正。 图像预处理 照相机获取到汽车车牌图像时,绝大多数情况下,图像里只存在一个车牌的情况是不太现实的,一幅图像里存在建筑物、树、其它汽车等等是很正常的;而且绝大多数都会存在噪声点,这种情况下就会对车牌定位和识别造成极大程度的干扰...

奋斗の博客 1万+

Consul :使用consul作为配置中心

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34117522的博客 3746

【乐企-工具篇】生成发票左上角二维码

【代码】【乐企-业务篇】生成发票左上角二维码。

九七的博客 708

AI Agent开发大全第一课-AI是什么以及如何使用AI

近年来,人工智能的迅猛发展引发了广泛的关注,尤其是“大模型”这一概念越来越深入人心。大模型,顾名思义,通常指的是那些拥有大量参数、能够处理复杂任务的机器学习模型。与传统小模型相比,大模型在数据处理、信息理解和生成等方面表现更加出色。为了理解为什么现在的AI被称为大模型,我们需要深入探讨几个关键因素。立角色是指在提示词中清晰地界定交互双方的身份。明确用户希望模型扮演的角色,可以帮助模型更准确地理解上下文和用户需求。

打造全国最全的AI Agent开发知识领域的博客 1406

Consul配置中心不生效的问题

consul配置中心踩坑

slience_y的博客 1443

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

consul作为数据配置中心.md

consul作为数据配置中心 基于spring boot 2.0.5.RELEASE 依赖 dependencies { // 服务注册和发现功能 compile('org.springframework.cloud:spring-cloud-starter-consul-discovery') // consul的配置中心功能 compile('org.springframework...

面朝大海,春暖花开 1976

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

SpringBoot配置中心实战:Nacos+Consul+Zookeeper方案对比

在Spring Boot应用开发中,配置管理是一个至关重要的环节。随着微服务架构的流行,服务数量增多,配置的管理变得更加复杂,传统的配置方式已经难以满足需求。配置中心应运而生,它可以集中管理各个服务的配置,实现配置的动态更新、版本控制等功能。本文将详细介绍三种常见的Spring Boot配置中心方案:Nacos、Consul和Zookeeper,并对它们进行实战对比。

梵心白莲的博客 574

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Consul3-使用consul作为配置中心

           在前面的文章中学习了consul在windows下的安装配置,然后consul作为spring boot的服务发现和注册中心,详细的参考:https://blog.youkuaiyun.com/j903829182/article/details/80960802https://blog.youkuaiyun.com/j903829182/article/details/80960917      ...

wj903829182的专栏 2万+

springboot集成consul配置中心,动态(热加载)配置文件

springboot集成consul配置中心实现对配置文件的热加载,可以动态获取配置并实现更新!

python_small_pan的博客 2342

【SpringBoot 004】 整合consul

consul 使用流程

qq_32057039的博客 1226

分布式配置中心选型实战:Nacos与Consul在创业场景下的对比——从需求出发,而非从技术出发

配置中心选型的核心逻辑是需求倒推而非技术正向。创业团队首先明确需求优先级:快速接入 > 变更热更新 > 多环境隔离 > 服务发现。据此映射到Nacos与Consul的能力差异:Nacos在Java栈接入成本和配置热更新体验上更优,Consul在多语言支持和基础设施整合上更强。选型决策应量化ROI,而非罗列功能。创业初期无需追求高可用集群架构,单机模式足以支撑3-5个服务的配置管理需求。待服务规模超过10个、或团队出现多语言技术栈后,再重新评估选型,甚至引入更专业的配置管理方案。

qq_35160742的博客 4202

SpringBoot+Consul注解方式实现配置中心

Consul介绍: Consul是什么 Consul包含多个组件,但是作为一个整体,为你的基础设施提供服务发现和服务配置的工具.他提供以下关键特性: 服务发现 Consul的客户端可用提供一个服务,比如 api 或者mysql ,另外一些客 户端可用使用Consul去发现一个指定服务的提供者.通过DNS或者HTTP应用程 序可用很容易的找到他所依赖的服务. 健康检查 Consul客户端可用提供任意数量的健康检查,指定一个服务(比 如:webserver是否返回了200 OK 状态码)或者使用本地

ITwangnengjie的博客 2576

springcloud中使用consul作为配置中心

springcloud中使用consul作为配置中心 1、pom.xml配置 org.springframework.boot spring-boot-starter-actuator org.springframework.cloud spring-cloud-starter-consul-config 2、 bootstrap.yml配置 spring: cloud: consul: host: 192.168.9.130 port: 8500 config

m0_67393295的博客 1129
上一篇: SpringBoot正确打日志的姿势
下一篇: 双十一还在盖楼?少年你应该掌握Docker 部署 Consul了
SpringForAll
博客等级 码龄7年 15粉丝 79原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值