nacos配置中心配置已经常见错误总结

💻目录

  • 前言
  • 1、基础架构
  • 2、依赖
  • 3、配置文件
    • 3.1、bolg-product配置文件
      • 3.1.1、application.yml配置文件
      • 3.1.2、bootstrap.yml配置文件
      • 3.1.3、nacos远程配置
    • 3.2、bolg-system
      • 3.1.1、application.yml配置文件
      • 3.1.2、bootstrap.yml配置文件
      • 3.2.3、nacos远程配置
  • 4、测试

前言

🌟 本套mode使用的是Alibaba的2021.0.1版,springboot的2.6.3实现(适用于springboot 2.7~2.4),Nacos使用的最新的2.2.3版本,如果需要看安装nacos和基础搭建可以看我下面的博客!

nacos的安装和基本配置使用可以查看我这篇博客,或者关注下面的专栏后续会持续更新其他的Spring Cloud 组件介绍以及使用
🍅Nacos下载与安装配置(2.2.3版本示例)
🥒Spring Cloud Alibaba专栏

1、基础架构

大致架构如下:

  • 父包指定spring的版本,
  • 在util里存放共用的实体以及共用的一些依赖以及工具类
  • 然后我建立了两个product的Module用来做远程调用时轮询测试
    在这里插入图片描述
    在这里插入图片描述

2、依赖

其他的一些依赖这里就不放了,只放nacos的相关依赖,第一个是服务注册的依赖,第二个是使得加载bootstrap.yml文件在application.yml文件前面加载。第三个是读取nacos配置中心的依赖(该依赖不加无法读取到nacos配置中心的内容,但不会报错!)。第四个是用于自动读取加载和刷新nacos中最新的配置的,@NacosValue注解是依靠它
🔻:如果没有报错,并且配置也没有错,就很大可能是少了这个依赖,或者是nacos的版本和spring的版本不兼容!

        <!--        nacos 服务注册 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency>
<!--        加载bootstrap文件--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId></dependency>
<!--        读取nacos配置中心--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId><!--            <version>2.2.0.RELEASE</version>--></dependency><!-- 自动配置Nacos相关的配置加载和刷新!:提供了@NacosValue注解使用--><dependency><groupId>com.alibaba.boot</groupId><artifactId>nacos-config-spring-boot-starter</artifactId><version>0.2.12</version></dependency>

3、配置文件

bootstrap配置文件和application配置文件使用区别:

  • bootstrap配置文件用于加载应用程序的基础配置,例如连接配置中心(如Nacos、Consul等)、配置加密等。
  • application配置文件用于加载应用程序的业务配置。

3.1、bolg-product配置文件

两个bolg-product项目配置文件除了端口其他的一样的。

3.1.1、application.yml配置文件

这里不做什么配置就简单的配置名字和端口。

server:port: 8203spring:application:name: bolg-product

3.1.2、bootstrap.yml配置文件

spring:#   注入到nacoscloud:nacos:#配置中心配置discovery:namespace: a5b81f44-9ca6-42b6-99ff-a2a11626a09dserver-addr: 192.168.0.104:8848username: nacos #账号password: nacos #密码#注册中心配置:主要配置,一般情况下配置前面的就可以了config:server-addr: 192.168.0.104:8848  #注册的地址username: nacos #账号password: nacos #密码namespace: a5b81f44-9ca6-42b6-99ff-a2a11626a09d #命名空间file-extension: yml #配置文件的后缀prefix: bolg-product #配置文件前缀 ,如果不写 默认使用${spring.application.name}的值group: BOLG_GROUP #组名auto-refresh: true # 开启自动刷新#配置次配置文件:在一些特殊时候可能要配置多个,extension-configs:- data-id: config-a-dev.yml #配置文件全名group: GROUP-A #组名refresh: true #是否支持热加载刷新- data-id: config-b-dev.ymlgroup: GROUP-Arefresh: false#共享配置文件 ---优先级低(比本地的低)shared-configs:- data-id: application.ymlgroup: GROUP-A

3.1.3、nacos远程配置

这个地方的DataID的值是需要是:${prefix}-${spring.profiles.active}.${file-extension}
我这里写的是bolg-order.yml是因为我没有配置spring.profiles.active这个参数

${prefix}如果不写默认会去取${spring.application.name}
在这里插入图片描述

在这里插入图片描述

3.2、bolg-system

3.1.1、application.yml配置文件

因为我要用openfeign远程调用使用加了其他的一些参数配置

server:port: 8201
spring:application:name: bolg-order
#  profiles:
#    active: dev#        开启负载均衡(默认是不开启的)
feign:circuitbreaker:enabled: true
#   熔断配置
hystrix:command:default:execution.isolation.thread.timeoutInMilliseconds: 3000 # 设置Hystrix超时时间(毫秒)ProductFeignClient#getProducts:execution.isolation.thread.timeoutInMilliseconds: 1000 # 为特定的Feign方法设置超时时间

3.1.2、bootstrap.yml配置文件

这个地方我为了对比差异尝试,配置中心和注册中心应该是分开的,他们的配置可以不设置在同一个命名空间里,这里我注册中心配置在了dev空间,而配置中心我放在了默认的public命名空间,不设置${namespace}参数就是默认的命名空间

server:port: 8201
spring:#   注入到nacoscloud:nacos:#配置中心配置discovery:namespace: a5b81f44-9ca6-42b6-99ff-a2a11626a09dserver-addr: 192.168.0.104:8848username: nacos #账号password: nacos #密码#注册中心配置config:server-addr: 192.168.0.104:8848username: nacos #账号password: nacos #密码
#        namespace: a5b81f44-9ca6-42b6-99ff-a2a11626a09d   #不写命名空间默认是publicfile-extension: yml #配置文件的后缀prefix: bolg-order #配置文件前缀 ,如果不写 默认使用${spring.application.name}的值group: BOLG_GROUP #组名auto-refresh: true

3.2.3、nacos远程配置

和上面的区别是命名空间不同
在这里插入图片描述

在这里插入图片描述

4、测试

这里我就加一个测试读取nacos远程文件的接口吧

  • 使用@Value注解也可以读取到远程的内容的,因为它加载时加被加载一起加载到本地了
  • 使用@NacosValue注解需要加第四个依赖才可以读取到远程的内容
@RestController
@RequestMapping("/admin/acl/index")
@Slf4j
public class index {@Resourceprivate ProductFeignClient productFeignClient;@NacosValue(value = "${bolg.name}" ,autoRefreshed = true)private String NacosName;@Value( "${bolg.name}")private String NacosName2;@Value("${server.port}")private Integer Port;/*** 测试订单服务是否有问题* @author yingfeng* @return * @return Result*/@PostMapping("/login")public Result login(){log.info("nacos名字:{},{},本地端口:{}",NacosName,NacosName2,Port);HashMap<String, String> map = new HashMap<>(16);map.put("token","token-admin");System.out.println();return Result.ok(map);}

读取到的内容:可以看到如果本地和远程写了同样的内容,优先级上远程的要高一些。
具体的优先级如下:

- 配置文件优先级(由高到低):
nacos远程的配置 -> 本地application.properties -> application.yml ->本地bootstrap.properties -> bootstrap.yml

在这里插入图片描述

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

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

相关文章

Hive解题思路

Hive解题思路 1 相关知识讲解 1.1 HQL语句的语法 sql语句的语法&#xff1a; select ..... from .... join ..... where .....group by ... having...order by|sort by|cluster by|distribute by .... &#xff08;1&#xff09;group by&#xff1a;按照某些字段的值进行…

tcl/tk demo

环境及版本说明: OSX10.9 tclsh -> tclsh8.5 wish -> wish8.5 查看本机运行环境: 1 which wish; 2 /usr/bin/wish 1 which tclsh; 2 /usr/bin/tclsh Demo功能说明: 用户登录窗口,输入用户名,密码.与文件中存储内容校验,如果相等,则提示"登录成功",否则提示&qu…

Hive高级操作

Hive高级操作 1 Hive的数据类型 1.1 原子数据类型 &#xff08;1&#xff09;Hive 是用 Java 开发的&#xff0c;Hive 里的基本数据类型和 java 的基本数据类型也是一一对应的&#xff0c; 除了 String 类型。 &#xff08;2&#xff09;有符号的整数类型&#xff1a;TINYIN…

05.序列模型 W2.自然语言处理与词嵌入(作业:词向量+Emoji表情生成)

文章目录作业1&#xff1a;1. 余弦相似度2. 单词类比3. 词向量纠偏3.1 消除对非性别词语的偏见3.2 性别词的均衡算法作业2&#xff1a;Emojify表情生成1. Baseline model: Emojifier-V11.1 数据集1.2 模型预览1.3 实现 Emojifier-V11.4 在训练集上测试2. Emojifier-V2: Using L…

LeetCode 688. “马”在棋盘上的概率(DP)

文章目录1. 题目2. 解题1. 题目 已知一个 NxN 的国际象棋棋盘&#xff0c;棋盘的行号和列号都是从 0 开始。即最左上角的格子记为 (0, 0)&#xff0c;最右下角的记为 (N-1, N-1)。 现有一个 “马”&#xff08;也译作 “骑士”&#xff09;位于 (r, c) &#xff0c;并打算进行…

LeetCode 第 36 场双周赛(304/2204,前13.8%)

文章目录1. 比赛结果2. 题目1. LeetCode 5515. 设计停车系统 easy2. LeetCode 5516. 警告一小时内使用相同员工卡大于等于三次的人 medium3. LeetCode 5518. 给定行和列的和求可行矩阵 medium4. LeetCode 5517. 找到处理最多请求的服务器 hard1. 比赛结果 做出来3题&#xff0…

数据库实例:用户注册

1.根据结构创建表的脚本如下 createtable py_users( id int unsigned auto_increment not null primary key, uname varchar(20) not null, upwd char(40) not null, is_delete bit not null default 0 ); 如下流程图&#xff0c;接下来的代码就按照这个逻辑来写 2.创建user…

HBase原理

目录 HBase原理 1 HBase架构 2 HBase中的核心概念 3 HBase的存储机制 4 HBase的寻址机制 5 HBase的读写流程 6 HBase的设计 7 HBase和Hive的整合 HBase原理 1 HBase架构 HBase的架构为主从架构&#xff0c;HMaster为主节点&#xff0c;HRegionServer为从节点 &#x…

数据库实例:用户登录

如下遍流程图&#xff0c;接下来的代码就按照这个逻辑来写 创建user_login.py文件&#xff0c;代码如下 #codingutf-8 from MySQLdb import* from hashlib importsha1 if __name____main__: try: #接收输入用户名、密码 unameraw_input(请输入用户名&…

数据库实例:mysql与mongo结合用户登录

加入mongodb后登录逻辑如下图&#xff0c;将图中nosql的位置换为mongodb即可 用户数据存储的集合名称为py_users&#xff0c;文档格式为{uname:用户名,upwd:密码} 将原来MySQL操作的代码封装到一个方法中&#xff0c;代码如下 def mysql_login(): #mongodb中没有则到mysql中…

LeetCode 1609. 奇偶树(层序遍历)

文章目录1. 题目2. 解题1. 题目 如果一棵二叉树满足下述几个条件&#xff0c;则可以称为 奇偶树 &#xff1a; 二叉树根节点所在层下标为 0 &#xff0c;根的子节点所在层下标为 1 &#xff0c;根的孙节点所在层下标为 2 &#xff0c;依此类推。偶数下标 层上的所有节点的值都…

数据的特征工程

数据的特征工程 1 什么是数据的特征工程 特征工程是将原始数据转换为更好地代表预测模型的潜在问题的特征的过程&#xff0c;从而提高了对未知数据的模型准确性。 特征工程的意义&#xff1a;将直接影响模型的预测结果。 2 数据的来源与类型 2.1 数据的来源 企业日益积累…

数据库实例:mysql与redis结合用户登录

加入redis后登录逻辑如下图&#xff0c;将图中nosql的位置换为redis即可 用户数据存的键为用户名&#xff0c;值为密码 将原来MySQL操作的代码封装到一个方法中&#xff0c;代码如下 defmysql_login(): #redis中没有则到mysql中查询 sqlselect upwd from py_users wher…

LeetCode 1610. 可见点的最大数目(atan2函数求夹角)

文章目录1. 题目2. 解题1. 题目 给你一个点数组 points 和一个表示角度的整数 angle &#xff0c;你的位置是 location &#xff0c;其中 location [posx, posy] 且 points[i] [xi, yi] 都表示 X-Y 平面上的整数坐标。 最开始&#xff0c;你面向东方进行观测。你 不能 进行…

[翻译]API Guides - Bound Services

官方文档原文地址&#xff1a;http://developer.android.com/guide/components/bound-services.html 一个Bound Service是一个客户端-服务器接口的服务。一个Bound Service允许组件&#xff08;像activity&#xff09;绑定一个service&#xff0c;发送请求&#xff0c;接受结果…

sklearn数据集与估计器

sklearn数据集与估计器 1 sklearn数据集 &#xff08;1&#xff09;数据来源&#xff1a;大多数以文件的形式 &#xff08;csv文件..&#xff09;, 因为mysql有性能瓶颈、读取速度遭到限制&#xff0c;数据大的时候很费时间 &#xff08;2&#xff09;读取数据的工具&#…

LeetCode 935. 骑士拨号器(动态规划)

文章目录1. 题目2. 解题1. 题目 国际象棋中的骑士可以按下图所示进行移动&#xff1a; 这一次&#xff0c;我们将 “骑士” 放在电话拨号盘的任意数字键&#xff08;如上图所示&#xff09;上&#xff0c; 接下来&#xff0c;骑士将会跳 N-1 步。每一步必须是从一个数字键跳到…

k近邻算法(KNN)-分类算法

k近邻算法(KNN)-分类算法 1 概念 定义&#xff1a;如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别&#xff0c;则该样本也属于这个类别。 k-近邻算法采用测量不同特征值之间的距离来进行分类。 2 优缺点 优点&#xff1a;简单&a…

LeetCode 822. 翻转卡片游戏(哈希)

文章目录1. 题目2. 解题1. 题目 在桌子上有 N 张卡片&#xff0c;每张卡片的正面和背面都写着一个正数&#xff08;正面与背面上的数有可能不一样&#xff09;。 我们可以先翻转任意张卡片&#xff0c;然后选择其中一张卡片。 如果选中的那张卡片背面的数字 X 与任意一张卡片…

朴素贝叶斯算法-分类算法

朴素贝叶斯算法-分类算法 1 概率基础 概率定义为一件事情发生的可能性 联合概率&#xff1a;包含多个条件&#xff0c;且所有条件同时成立的概率&#xff0c;记作P(A,B) 条件概率&#xff1a;事件A在另一个事件B已经发生条件下的发送概率&#xff0c;记作P(A|B) 在A1,A2相…