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

一、统一配置管理

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

(一)使用配置管理

通过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:8845server 127.0.0.1:8846server 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.mzph.cn/news/1614.shtml

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

相关文章

AN OVERVIEW OF LANGUAGE MODELS RECENT DEVELOPMENTS AND OUTLOOK

LLM系列相关文章&#xff0c;针对《AN OVERVIEW OF LANGUAGE MODELS: RECENT DEVELOPMENTS AND OUTLOOK》的翻译。 语言模型综述&#xff1a;近年来的发展与展望 摘要1 引言2 语言模型的类型2.1 结构化LM2.2 双向LM2.3 置换LM 3 语言单元3.1 字符3.2 单词和子单词3.2.1 基于统…

十八、Unity游戏引擎入门

1、下载 首先需要下载Unity Hub,下载网址:https://unity.com/cn。 然后在其中下载Unity编辑器并安装,可选择最新版本。 接着需要选择适合的开发环境,例如Android Studio或Xcode,以便进行手机游戏开发。在安装完Unity后,需要根据项目需求下载对应的模块和插件…

CRM排名前三的的系统有哪些特点?

crm经过多年的发展&#xff0c;不仅可以管理好客户关系还是企业重要的战略武器。让企业的销售、市场营销和客服服务部门建立密切联系&#xff0c;在crm一个平台上处理商机&#xff0c;简化业务流程&#xff0c;为组织降本增效。国内crm系统排名哪些技术商更靠前&#xff1f; 1…

微服务sleuth+zipkin——链路追踪

一、链路追踪&#x1f349; 1.什么是链路追踪&#xff1f;&#x1f95d; 在大型系统的微服务化构建中&#xff0c;一个系统被拆分成了许多模块。这些模块负责不同的功能&#xff0c;组合成系统&#xff0c;最终可以提供丰富的功能。在这种架构中&#xff0c;一次请求往往需要…

vue或react当中canvas实现电子签名组件和使用canvas进行图片压缩

<template><div><h1>vue3</h1><canvas id"canvasWrite"> 浏览器不支持Canvas,请升级浏览器 </canvas><div><button class"submit" click"submitWrite">提交签名</button><button clas…

vscode debug的方式

在.vscode文件夹下建立launch.json 例子1&#xff1a;调试python 来自 https://github.com/chunleili/tiPBD/tree/amg {"version": "0.2.0","configurations": [{"name": "hpbd 5 5","type": "python&quo…

Java开发中使用sql简化开发

引语&#xff1a; 在Java开发中&#xff0c;我们更希望数据库能直接给我们必要的数据&#xff0c;然后在业务层面直接进行使用&#xff0c;所以写一个简单的sql语句有助于提高Java开发效率&#xff0c;本文由简单到复杂的小白吸收&#xff0c;还请多多指教。 使用MySQL数据库…

Stable Diffusion学习笔记

一些零散笔记 灰常好的模型网站 LiblibAI哩布哩布AI-中国领先原创AI模型分享社区 出图效率倍增&#xff01;47个高质量的 Stable Diffusion 常用模型推荐 - 优设网 - 学设计上优设 关键词Prompt顺序 画质 风格 主体 外表、描述 表情、情绪 姿势 背景 杂项 同时可以…

23家企业推出昇腾AI系列新品 覆盖云、边、端智能硬件

[中国&#xff0c;上海&#xff0c;2023年7月6日] 昇腾人工智能产业高峰论坛在上海举办。论坛现场&#xff0c;大模型联合创新启动&#xff0c;26家行业领军企业、科研院所与华为将共同基于昇腾AI进行基础大模型与行业大模型应用创新。同时&#xff0c;华为携手伙伴联合发布昇腾…

【C++进阶之路】list的基本使用和模拟实现

文章目录 初步认识①定义②底层原理③迭代器的分类 一、基本使用1.插入结点元素2.删除结点元素3.合并两个有序链表4.将一条链表的某一部分转移到另一条链表5.对链表排序并去重6.vector与list排序的比较 二、模拟实现①要点说明②基本框架③迭代器构造函数- -*->list里的迭代…

Raft算法之日志复制

Raft算法之日志复制 一、日志复制大致流程 在Leader选举过程中&#xff0c;集群最终会选举出一个Leader节点&#xff0c;而集群中剩余的其他节点将会成为Follower节点。Leader节点除了向Follower节点发送心跳消息&#xff0c;还会处理客户端的请求&#xff0c;并将客户端的更…

ElasticSearch搜索相关性及打分的相关原理

文章目录 一、相关性和打分简介二、TF-IDF得分计算公式三、BM25&#xff08;Best Matching 25&#xff09;四、使用explain查看TF-IDF五、通过Boosting控制相关度 一、相关性和打分简介 举个例子来说明&#xff1a; 假设有一个电商网站&#xff0c;用户在搜索框中输入了关键词&…

理解LLM中的ReAct

large language models (LLMs)大语言模型在语义理解和交互式决策方面有着不错的表现。ReAct在一次交互中循环使用推理和行动两个操作解决复杂问题&#xff0c;推理即利用模型自身语义理解能力&#xff0c;行动则利用模型以外的能力&#xff08;如计算、搜索最新消息&#xff0c…

架构训练营学习笔记:4-2 存储架构模式之复制架构

高可用的关键指标 问题&#xff1a;分为故障跟灾难。不是有了多活架构就不在用复制架构 &#xff0c;还是之前的合适原则&#xff1a;多活架构的技术复杂度 跟成本都比复制架构高。 高可用的关键指标 恢复时间目标(RecoveryTimeObjective&#xff0c;RTO)指为避免在灾难发生后…

Spring Cloud Gateway - 新一代微服务API网关

Spring Cloud Gateway - 新一代微服务API网关 文章目录 Spring Cloud Gateway - 新一代微服务API网关1.网关介绍2.Spring Cloud Gateway介绍3.Spring Cloud Gateway的特性4.Spring Cloud Gateway的三大核心概念5.Gateway工作流程6.Gateway核心配置7.动态路由8.Predicate自定义P…

阿里云RockMQ与SpringBoot的整合

前言&#xff1a; 开源版本Rocket和商业版本的RocketMQ有些不同&#xff0c;研究的是商业版本的RocketMQ&#xff0c;阿里云的官方文档&#xff0c;感觉有点乱。看不咋明白&#xff0c;网上虽然有教程&#xff0c;大都还是有点缺少&#xff0c;有时候会突然跳了步骤&#xff0c…

C# 细说async/await的用法

目录 一&#xff0c;引言 二&#xff0c;实例演示 2.1 多线程同步执行下载任务&#xff0c;任务完成后通知 2.2 异步执行下载任务&#xff0c;任务完成后通知 三&#xff0c;async/await的用法 3.1 跨线程修改UI控件 3.2 异步获取数据 一&#xff0c;引言 首先先来区分…

网上书店管理系统

目录 一、系统需求分析 二、数据库概念结构设计 四、数据库物理实现 五、数据库功能调试 一、系统需求分析 需求概述 1.系统背景 当今互联网的迅速发展&#xff0c;使得人们获取信息变得极其便利。在从前&#xff0c;人们以线下书店购买书籍的方式获取知识&#xff0c;常常…

WEB:Confusion1

背景知识 SSTI漏洞 题目 根据网站图片和题目描述的提示&#xff0c;大象是php&#xff0c;蟒蛇是python&#xff0c;说明了这个网站是用python写的 在python中&#xff0c;比较常规的漏洞就是SSTI模板注入 没有思路&#xff0c;先点login和register页面看看 查看源代码 之前…

读论文---On Distillation of Guided Diffusion Models

该论文解决的问题 1 简要描述 2 在之前的工作中存在下述问题 计算过程需要计算: 1 unconditional的unet 2 conditional(w text)的unet 下图展示了计算过程 对应的代码 pipelines-> stable_diffusion-> pipline_stable_diffusion.py-> StableDiffusionPipeling-> 7…