SpringCloud学习路线(5)—— Nacos配置管理

news2024/11/26 9:45:44

一、统一配置管理

需求: 微服务配置能实现统一的管理,比如希望改动多个配置,但不希望逐个配置,而是在一个位置中改动,并且服务不用重启即用(热更新)。

(一)使用配置管理

通过Nacos控制台——配置列表,创建统一配置项。

1、需要填写的几个信息:

  • Data ID —— 配置文件ID:[服务名称]-[profile].[后缀名]
  • Group —— 分组,默认即可
  • 格式 —— 配置格式,一般使用YAML
  • 配置内容 —— 根据配置格式进行配置

2、配置获取的步骤如下:

项目启动 —— 读取nacos配置文件 —— 读取本地配置文件appliaction.yml —— 创建Spring容器 —— 加载bean

在这里插入图片描述
3、具体使用方式

(1)引入Nacos的配置管理客户端依赖

<dependency>
	<groupId>com.alibaba.cloud</groupId>
	<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

(2)在resource目录中添加bootstrap.xml文件,这个文件是引导文件,优先级高于application.xml

bootstrap.xml

spring:
	applicaiton:
		name: userservice #服务名
	profiles:
		active: dev #配置环境
	cloud:
		nacos:
			server-addr: localhost:8848 #Nacos 地址
			config:
				file-extension: yaml #文件后缀名

二、配置热更新

(一)实现方式

方式一:@Value注释的变量所在类上添加@RefreshScope

@Slf4j
@RestController
@RequestMapping("/user")
@RefreshScope
public class UserController {
	@Value("${pattern.dateformat}")
	private String dateformat;
}

方式二: 在配置类中使用@ConfigurationProperties注解

@Component
@Data
@ConfigurationProperties(prefix = "pattern") #自动注入关于pattern相关的配置信息
public class PatternProperties {
	private String dateformat;
}

三、配置共享

(一)需求: 在开发、生产、测试的环境下,配置文件参数是相同的,但不想在每个环境下都做修改,需要共享配置。

(二)实现:

Nacos可以读取多个配置文件,例如我们有 userservice-dev.ymluserservice.yml 两个配置文件,当我们在Java配置文件中,配置了服务名称,服务环境,后缀名后,Java服务是能够读取上述两个配置文件的。

在Nacos控制台中,增加一个以 [服务名称].[后缀名] 命名的配置文件即可。

(三)配置文件的优先级 : 服务名-profile.yml > 服务名称.yml > 本地配置

四、搭建Nacos集群

(一)Nacos集群结构图

在这里插入图片描述

三个Nacos结点地址

节点ipport
nacos1xxx.xxx.xxx.xxx8845
nacos2xxx.xxx.xxx.xxx8846
nacos3xxx.xxx.xxx.xxx8847

(二)搭建集群

基本步骤

  • 搭建数据库,初始化数据库表结构
  • 下载nacos安装包
  • 配置nacos
    • conf/cluster.conf.template 重命名为 cluster.conf
    • cluster.conf中添加三个Nacos节点
      • 127.0.0.1:8845
      • 127.0.0.1:8846
      • 127.0.0.1:8847
    • application.properties文件,添加数据库配置
#配置数据库源
spring.datasource.platform=mysql

#数据库源配置 db.xx.0 => 数据库0的配置信息
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/xxx?characterEncoding=utf8&connetTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicod=true&useSSL=false&serverTimezone=UTC
db_user.0=root
db_password.0=123456
  • 启动nacos集群
    • 复制修改nacos,使用bin/startup.cmd启动即可
  • nginx反向代理
    • conf/nginx.conf,配置负载均衡
#nacos的结点
upstream nacos-cluster {
	server 127.0.0.1:8845
	server 127.0.0.1:8846
	server 127.0.0.1:8847
}

#服务代理
#意思是,当访问localhost:80/nacos 就会均衡到上述的nacos结点中去
server {
	listen 80; #监听80端口,只需要访问80端口就可以
	server_name localhost; #服务名以localhost为域名

	localhost /nacos { #设置访问路径
		proxy_pass http://nacos-cluster #重定向路径
	}
}

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

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

相关文章

【大模型】与 ChatGPT 齐平、可商用、更强的 LLaMA2 来了

【大模型】可商用且更强的 LLaMA2 来了 LLaMA2 简介论文GitHubhuggingface模型列表训练数据训练信息模型信息 许可证参考 LLaMA2 简介 2023年7月19日&#xff1a;Meta 发布开源可商用模型 Llama 2。 Llama 2是一个预训练和微调的生成文本模型的集合&#xff0c;其规模从70亿到…

【极简 亲测】已拦截跨源请求:同源策略禁止读取位于....的远程资源。(原因:CORS 头缺少 ‘Access-Control-Allow-Origin‘)

CORS是Cross-Origin Resource Sharing。 解决 首先这个是浏览器层面的拦截。下面的方法都是解除浏览器拦截的方式。 解除了之后还是有可能其他方面有问题的&#xff0c;但是那个会提示其他错误。 比如CORs Failed之类的&#xff0c;这个是没收到response&#xff0c;大概率是…

施耐德plc编程软件转以太网模块

捷米特JM-ETH-SC 是一款经济型的以太网通讯处理器&#xff0c;是为满足日益增多的工厂设备信息化需求&#xff08;设备网络监控和生产管理&#xff09;而设计&#xff0c;用于施耐德Quantumn/Premiun/TSXMicro/Twdio/M200/M218/M221/M241/M238/M25 等系列 PLC 的以太网数据采集…

分布式光伏电站运维平台在石化行业的应用光伏发电数据实时监控

摘要&#xff1a;为实现绿色发展和“净零排放”的目标&#xff0c;近些年来国内外不少能源化工企业进入光伏发电领域。如何做好光伏电站的运行维护&#xff0c;成为石化企业不得不思考的重要课题。本文从分布式光伏电站消防安全、作业安全、环保管理等方面进行思考&#xff0c;…

浮点类型详解及 IEEE754 规定

【C语言趣味教程】(3) 浮点类型&#xff1a;单精度浮点数 | 双精度浮点型 | IEEE754 标准 &#x1f517; 《C语言趣味教程》&#x1f448; 猛戳订阅&#xff01;&#xff01;&#xff01; ​—— 热门专栏《维生素C语言》的重制版 —— &#x1f4ad; 写在前面&#xff1a;这是…

亿发软件:数字化大中型制造企业生产管理应用,实现智慧工厂信息化

随着信息技术与制造业的深度协调&#xff0c;作为企业发展的趋势&#xff0c;大中型制造企业需要拥抱信息化建设。通过运用信息技术和数字化运营&#xff0c;大中型制造企业的生产、设计、经营、管理、后续服务等都实现自动化、智能化。大中型制造企业信息化建设解决方案&#…

Spark(31):Spark性能调优之算子调优

目录 0. 相关文章链接 1. mapPartitions 2. foreachPartition优化数据库操作 3. filter与coalesce的配合使用 4. repartition解决SparkSQL低并行度问题 5. reduceByKey预聚合 0. 相关文章链接 Spark文章汇总 1. mapPartitions 普通的 map 算子对 RDD 中的每一个元素进行…

肖sir___讲解环境__001

1.jdk是什么&#xff1f; jdk是java代码的编译器&#xff0c;可以理解为“翻译”。 &#xff08;1&#xff09;windows中jdk是在dos中查询&#xff1a;java -version &#xff08;2&#xff09;linux中jdk是在linux服务器查询&#xff1a;java -version ** ** 2、搭建环境服务…

C++初阶 - 3.类和对象(中)

目录 1.类的6个默认成员函数 2.构造函数 2.2特性 3.析构函数 3.1 概念 3.2 特性 4. 拷贝构造函数 4.1 概念 4.2 特征 5.赋值运算符重载 5.1运算符重载 5.2 赋值运算符重载 5.3 前置和后置重载 6.日期类的实现 7.const成员 8.取地址及const取地址操作符重载 1.类…

guava-31.1-android.jar时出错; zip file is empty

配置nacos-client时&#xff0c;启动报错guava-31.1-android.jar时出错; zip file is empty 翻看了一下依赖的nacos-api的maven包中&#xff0c;果然有这个版本的guava 在nacos-api中屏蔽掉 <dependency><groupId>com.alibaba.nacos</groupId><artifactI…

【技能实训】DMS数据挖掘项目-Day14

文章目录 任务16【任务16.1】数据的请求和响应【任务16.2】创建JTable的数据适配器类MatchedTableModel&#xff0c;直接从数据库获取数据。 任务16 【任务16.1】数据的请求和响应 数据的请求和响应方法 程序设计 package com.qst.dms.service;import com.qst.dms.net.Requ…

安装 PyCharm

网址&#xff1a;Download PyCharm: Python IDE for Professional Developers by JetBrains 安装文件&#xff1a; 第一步&#xff1a; 第二步&#xff1a; 第三步&#xff1a; 第四步&#xff1a; 正在安装&#xff1a; 安装完成&#xff1a;

ubuntu中下载、构建、使用raylib

目录 先决条件 [1]下载raylib方式一方式二 构建 [1]使用终端中使用Clion中使用 先决条件 [1] ubuntu系统上需要先安装GCC, make(或者cmake)和git (下载raylib) 执行下面的命令可以安装GCC,make,cmake,git sudo apt install build-essential git #build-essential是一套工具集…

2020年美国大学生数学建模竞赛A题向北移动解题全过程文档及程序

2020年美国大学生数学建模竞赛 A题 向北移动 原题再现&#xff1a; 全球海洋温度影响某些海洋生物的栖息地质量。当温度变化太大而无法持续生长时&#xff0c;这些物种便开始寻找其他更适合其现在和将来的生活和生殖的栖息地。在美国缅因州的龙虾种群中就可以看到一个例子&am…

C++底层分析

文章目录 进程的地址空间划分用户空间内核空间 程序的链接原理 进程的地址空间划分 任何的编程语言》产生两种东西&#xff1a;指令和数据 程序加载到内存中&#xff0c;不可能加载到物理内存。 linux系统会给当前进程分配一个2^32&#xff08;32位系统&#xff0c;4G&#xf…

python自动化测试selenium定位frame及iframe示例

这篇文章主要为大家介绍了python自动化测试selenium定位frame及iframe示例的示例详解&#xff0c;有需要的朋友可以借鉴参考下&#xff0c;希望能够有所帮助 frame标签有frameset、frame、iframe三种&#xff0c;frameset和其它普通标签没有区别&#xff0c;不会影响正常定位&…

电脑C盘哪些文件可以删除?最全总结分享!

“怎么会这样呢&#xff1f;我的电脑c盘明明没东西却爆满。实在不知道应该怎么处理了。有哪位朋友知道电脑c盘哪些文件可以删除吗&#xff1f;快来帮帮我吧&#xff01;” C盘是计算机中的系统盘&#xff0c;存储着操作系统和很多程序文件。在c盘中有些文件是不可以随意删除的&…

伙伴云CEO戴志康:我们为什么要做伙伴云?

分享嘉宾&#xff1a;戴志康&#xff0c;伙伴云CEO 以下为演讲实录⬇⬇⬇ 01选择人更少的一条路&#xff0c;从B级走向A级 我一直想和大家交流一个话题&#xff0c;关于我们为什么要做伙伴云。既代表我自己&#xff0c;同时也代表我们团队的一些想法。 我是一个怀疑论者。大…

如何助力企业DCMM贯标落地,这里有答案

DCMM作为国家第一个数据管理领域标准&#xff0c;是企业落实数据驱动战略、实现数字化转型的重要抓手。从行业实践来看&#xff0c;国内多个行业开始在全面拥抱DCMM模型&#xff0c;根据模型开展数据管理评估和能力提升工作。 01 什么是DCMM DCMM是国家标准《GB/T36073-2018 数…

3.15 Bootstrap 警告(Alerts)

文章目录 Bootstrap 警告&#xff08;Alerts&#xff09;可取消的警告&#xff08;Dismissal Alerts&#xff09;警告&#xff08;Alerts&#xff09;中的链接 Bootstrap 警告&#xff08;Alerts&#xff09; 本章将讲解警告&#xff08;Alerts&#xff09;以及 Bootstrap 所提…