SpringCloud搭建微服务之Consul服务配置

1. 概述

前面有介绍过Consul既可以用于服务注册和发现,也可以用于服务配置,本文主要介绍如何使用Consul实现微服务的配置中心,有需要了解如何安装Consul的小伙伴,请查阅SpringCloud搭建微服务之Consul服务注册与发现
,这里就不再重复。

2. Consul Key/Value配置

进入Consul管理页面,选择Key/Value,进行Key/Value配置
key/value
点击Create,进入Key/Value创建页面,新建一个名为config的文件,并以/结尾
config
进入config文件,在其下根据环境创建对应的文件,例如:spring-cloud-consul-qua、spring-cloud-consul-val,并以/结尾
consul-val
创建应用文件如下:
应用文件
在应用文件目录下创建具体的data数据
创建数据
同理,在其他几个文件中添加配置数据

3. Spring Cloud集成Consul配置中心

3.1. 引入核心依赖

在pom.xml文件中引入consul配置依赖

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-consul-config</artifactId><exclusions><exclusion><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId></exclusion></exclusions>
</dependency>

3.2. 配置consul

新建bootstrp.yml配置文件,添加如下配置信息

spring:application:name: spring-cloud-consulprofiles:active: quacloud:consul:host: localhostport: 8500discovery:service-name: ${spring.application.name}config:profile-separator: '-'format: YAML

3.3. 验证

启动服务,查看控制台,可以看到微服务引用的指定的qua配置文件
验证consul配置
在服务中写一个测试接口,使用IDEA自带的HTTP测试接口,可以看到
测试请求

3.4. 动态刷新

如果在Consul配置中心修改了配置信息,微服务是不能及时更新的,需要在主启动类上添加注解@RefreshScope

@RefreshScope
@SpringBootApplication
@EnableDiscoveryClient
public class ConsulApplication {public static void main(String[] args) {SpringApplication.run(ConsulApplication.class, args);}
}

4. Consul数据持久化

4.1. 问题

如果Consul应用重启了,配置中心的数据会丢失,服务会拿取不到之前的数据,刷新Consul页面会报404错误,如下图:
404错误

4.2. 持久化配置

本文是本地文件保存方式实现数据持久化,在consul安装目录下,新建consul_data文件夹和consul_start.bat文件,在consul_start.bat文件中填写如下内容:

@echo.Consul服务正在启动......
@echo off
@sc create Consul binpath="D:\software\consul_1.18.0_windows_amd64\consul.exe agent -server -ui -bind=127.0.0.1 -client=0.0.0.0 -bootstrap-expect 1 -data-dir D:\software\consul_1.18.0_windows_amd64\consul_data"
@net start Consul
@sc config Consul start=AUTO
@echo.Consul start is OK ...... Success
@pause

使用管理员权限打开consul_start.bat文件
启动consul
服务启动后重新配置数据,打开任务管理器,可以看到Consul服务进程
consul进程
再次重启Consul服务时,配置的数据还在,consul_data文件夹中也有一些文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/711409.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

steam怎么付款

信用卡支付 登录Steam账户&#xff0c;选择需要购买的游戏或其他物品&#xff0c;点击“加入购物车”。在购物车页面点击“去结账”按钮&#xff0c;进入付款页面。在付款页面选择信用卡付款方式&#xff0c;填写信用卡信息&#xff0c;输入验证码&#xff0c;点击确认付款。 …

Servlet 新手村引入-编写一个简单的servlet项目

Servlet 新手村引入-编写一个简单的servlet项目 文章目录 Servlet 新手村引入-编写一个简单的servlet项目一、编写一个 Hello world 项目1.创建项目2.引入依赖3.手动创建一些必要的目录/文件4.编写代码5.打包程序6.部署7.验证程序 二、更方便的处理方案&#xff08;插件引入&am…

autocrlf和safecrlf

git远程拉取及提交代码&#xff0c;windows和linux平台换行符转换问题&#xff0c;用以下两行命令进行配置&#xff1a; git config --global core.autocrlf false git config --global core.safecrlf true CRLF是windows平台下的换行符&#xff0c;LF是linux平台下的换行符。…

98 greenplum 集群搭建过程中碰到的几个问题

前言 最近有搭建 greenplum 集群的需求 然后 在搭建的过程中碰到了一些问题, 还是有一些时间开销 并且问题也稍微有些复杂, 因此记录一下 1. Do not have enough valid segments to start the array. 报错日志信息如下 20220408:14:15:29:021638 gpstart:gp1:gpadmin-[I…

基于springboot+vue的公交线路查询系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

Find My运动相机|苹果Find My技术与相机结合,智能防丢,全球定位

运动相机设计用于在各种运动和极限环境中使用&#xff0c;如徒步、登山、攀岩、骑行、滑翔、滑雪、游泳和潜水等&#xff0c;它们通常具有防抖防震、深度防水和高清画质的特点&#xff0c;能够适应颠簸剧烈的环境&#xff0c;甚至可以承受一定程度的摔落&#xff0c;一些运动相…

基于systick实现获取系统运行时间

基于systick实现获取系统运行时间 文章目录 基于systick实现获取系统运行时间systick.c代码结构:代码功能:总结 systick.c #include <stdint.h> #include "gd32f30x.h"static volatile uint64_t g_sysRunTime 0;/** ***************************************…

数学建模【聚类模型】

一、聚类模型简介 “物以类聚&#xff0c; 人以群分”&#xff0c;所谓的聚类&#xff0c;就是将样本划分为由类似的对象组成的多个类的过程。聚类后&#xff0c;我们可以更加准确的在每个类中单独使用统计模型进行估计、分析或预测&#xff0c;也可以探究不同类之间的相关性和…

springboot233大学生就业需求分析系统

大学生就业需求分析系统设计与实现 摘 要 信息数据从传统到当代&#xff0c;是一直在变革当中&#xff0c;突如其来的互联网让传统的信息管理看到了革命性的曙光&#xff0c;因为传统信息管理从时效性&#xff0c;还是安全性&#xff0c;还是可操作性等各个方面来讲&#xff…

C语言-简单的环形队列的源码示例

概述 环形队列&#xff08;Circular Queue&#xff09;是一种常见的数据结构&#xff0c;特别适用于在单片机等资源受限的环境下实现缓冲区或队列功能。下面是一个简单的环形队列的源码示例&#xff0c;用C语言实现&#xff1a; #include <stdio.h> #include <stdint…

五种查看Spring容器中bean的方法

五种查看Spring容器中bean的方法 在Spring应用程序中&#xff0c;了解和查看容器中的Bean是进行调试和问题排查的关键。Spring提供了多种方法来查看容器中注册的Bean&#xff0c;以便我们深入了解应用程序的内部结构和调试潜在问题。本文将介绍五种常用的查看Spring容器中Bean的…

C++ map用法详细总结40例

文章目录 1. 定义与初始化2. 插入元素3. 查找元素4. 删除元素5. 遍历6. 访问成员函数7. 修改元素8. 注意事项9. 使用 equal_range 查找键值范围10. 使用 emplace 添加元素11. 使用 cbegin 和 cend 获取常量迭代器12. 排序规则自定义13. 使用 multimap 存储重复键14. 判断 map 是…

Python音乐信息管理库之beets使用详解

概要 在数字化时代,音乐管理变得越来越重要,特别是对于音乐爱好者和专业音乐人士而言。Python作为一种功能强大的编程语言,拥有着丰富的音乐处理库,其中Beet就是一款备受推崇的音乐信息管理工具。本文将深入探讨Beet库的功能特性、使用方法以及应用场景,并提供丰富的示例…

市场需求预测模型

市场需求预测模型是一种用于预测某个市场或产品的需求量的数学模型。它基于历史数据、市场趋势以及其他相关因素&#xff0c;通过统计和分析的方法来预测未来的市场需求情况。 市场需求预测模型可以帮助企业制定合理的生产计划、库存管理和市场营销策略。通过准确地预测市场需…

python实现数字规整(转中文)

1.思路根据正则匹配数字类型比如手机号、年月日等进行相对的数字规整 话不多说直接上代码&#xff0c;有新的类型可以按照当前方案进行新增 import redef match_year_digit(match):m str(match.group())relation {1: 一, 2: 二, 3: 三, 4: 四, 5: 五, 6: 六, 7: 七, 8: 八, …

WPF真入门教程31--WPF版房屋租售系统

1、教程回顾 到现在为止&#xff0c;“蒸”入门系列教程已完成了30刺由浅入深地讲解&#xff0c;当然不可能讲到了WPF的所有技能点&#xff0c;但读者看到了wpf的内部各种功能及之间的联系&#xff0c;在此基础上&#xff0c;再提供一个完整有效的综合项目&#xff0c;本项目采…

tcp的三次握手和四次挥手?

一&#xff1a;引出 客户端与服务器之间数据的发送和返回的过程当中需要创建一个叫TCP connection的东西&#xff1b;由于TCP不存在连接的概念&#xff0c;只存在请求和响应&#xff0c;请求和响应都是数据包&#xff0c;它们之间都是经过由TCP创建的一个从客户端发起&#xff…

身份验证错误。要求的函数不受支持。远程计算机:[IP地址]。这可能是由于CredSSP加密数据库修正

出现“身份验证错误。要求的函数不受支持。远程计算机&#xff1a;[IP地址]。这可能是由于CredSSP加密数据库修正”的问题&#xff0c;通常是因为Windows更新后&#xff0c;远程桌面连接&#xff08;RDP&#xff09;的安全性增强&#xff0c;特别是与CredSSP&#xff08;Creden…

[RoarCTF 2019]Easy Calc

这题考查的是: 字符串解析特性目录读取文件内容读取 字符串解析特性详解&#xff1a;PHP字符串解析特性 &#xff08;$GET/$POST参数绕过&#xff09;&#xff08;含例题 buuctf easycalc&#xff09;_参数解析 绕过-CSDN博客 ascii码查询表&#xff1a;ASCII 表 | 菜鸟工具 …

AI智能雷达名片小程序平台版源码系统 带完整的安装代码包以及安装部署教程

在当今数字化快速发展的时代&#xff0c;人工智能&#xff08;AI&#xff09;已渗透到各个领域&#xff0c;尤其是在商务沟通领域&#xff0c;传统的名片已经不能满足现代商业的需求。小编给大家分享一款名为“AI智能雷达名片小程序平台版”的源码系统&#xff0c;该系统不仅提…