Nacos详细使用操作文档(图文详细)
文章目录
- Nacos详细使用操作文档(图文详细)
- 1、安装
- 2、Nacos作为注册中心
- 2.1、Nacos服务注册【ICRMS】
- 2.2、Nacos 服务调用
- 2.2.1、Feign 远程调用【Personnel】
- 2.2.2)、RestTemplate+Ribbon 远程调用【Personnel】
- 3、Nacos作为配置中心
- 4、Nacos 命令空间
- 5、Nacos配置文件参数详解
Nacos详细使用操作文档(图文详细)
1、安装
- 官方链接: https://nacos.io/zh-cn/docs/what-is-nacos.html
- 参考地址(单机版): https://blog.csdn.net/weixin_44187730/article/details/104263230
- 参考地址(集群版): https://blog.csdn.net/weixin_44187730/article/details/104552937
2、Nacos作为注册中心
2.1、Nacos服务注册【ICRMS】
- 1、导入服务发现功能的jar包
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
- 2、开启服务注册发现功能
package com.moonpac.icrms.config;import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.Configuration;/*** @Copyright (C), 2016-2022 MP* @ClassName: ICRMSCloudConfig* @Author: hf* @Date: 2022/9/4 16:07* @Description: ICRMS服务 - 关于Nacos配置-服务注册-服务发现-Feign远程调用*/
@Configuration
@EnableDiscoveryClient
@EnableFeignClients(basePackages = "com.moonpac.icrms.feign")
public class ICRMSCloudConfig {}
- 3、编写bootstrap.yaml配置、指定Nacos的服务地址
spring:application:#服务名称name: aiops-icrmscloud:nacos:discovery:# 集群方式多个地址以,分割server-addr: 10.173.28.204:8848
2.2、Nacos 服务调用
2.2.1、Feign 远程调用【Personnel】
- ①、导入feign进行远程调用功能
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
- ②、消费端调用写法,声明式调用【声明调用接口】
package com.moonpac.personnel.feign;import com.moonpac.personnel.feign.fallback.ICRMSTestFeignServiceFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;import java.util.List;/*** @Copyright (C), 2016-2022 MP* @ClassName: ICRMSTestController* @Author: hf* @Date: 2022/9/4 16:27* @Description: ICRMS 测试Feign调用*/
@FeignClient(//指定服务名,nacos注册的服务名name = "aiops-icrms",//指定容错类-当远程调用失败时进入容错类中fallbackFactory = ICRMSTestFeignServiceFallbackFactory.class
)
//指定公共请求前缀
@RequestMapping("/icrms")
public interface ICRMSTestFeignService {@GetMapping("/list")List<String> list();
}
- ③、Feign容错类
package com.moonpac.personnel.feign.fallback;import com.moonpac.personnel.feign.ICRMSTestFeignService;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;import java.util.Arrays;
import java.util.List;/*** @Copyright (C), 2016-2022 MP* @ClassName: ICRMSTestServiceFallbackFactory* @Author: hf* @Date: 2022/9/4 16:29* @Description: Feign 远程调用容错*/
@Service
@Slf4j
public class ICRMSTestFeignServiceFallbackFactory implements FallbackFactory<ICRMSTestFeignService> {@Overridepublic ICRMSTestFeignService create(Throwable throwable) {//捕获到异常throwable.printStackTrace();return new ICRMSTestFeignService() {//捕获到异常@Overridepublic List<String> list() {return Arrays.asList("Feign远程调用报错了...","错了");}};}
}
- ④、配置类
package com.moonpac.personnel.config;import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.Configuration;/*** @Copyright (C), 2016-2022 MP* @ClassName: PersonnelCloudConfig* @Author: hf* @Date: 2022/9/4 16:23* @Description: Personnel服务关于Nacos配置-服务注册-服务发现-Feign远程调用*/
@Configuration
@EnableDiscoveryClient
@EnableFeignClients(basePackages = "com.moonpac.personnel.feign")
public class PersonnelCloudConfig {}
- ⑤、controller写法
package com.moonpac.personnel.controller;import com.moonpac.personnel.feign.ICRMSTestFeignService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** @Copyright (C), 2016-2022 MP* @ClassName: PersonnelFeignController* @Author: hf* @Date: 2022/9/4 16:43* @Description: Feign 远程调用服务*/
@Slf4j
@RestController
@RequestMapping("/personnel")
@RequiredArgsConstructor
public class PersonnelFeignController {private final ICRMSTestFeignService icrmsTestFeignService;@GetMapping("/list")public Object list() {//远程调用开始,即将通过Feign 远程调用接口log.info("远程调用开始,即将通过Feign 远程调用其它服务接口...");return icrmsTestFeignService.list();}}
- ⑥、调用效果
2.2.2)、RestTemplate+Ribbon 远程调用【Personnel】
- ① 配置类
package com.moonpac.personnel.config;import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;/*** @Copyright (C), 2016-2022 MP* @ClassName: PersonnelRestTemplateConfig* @Author: hf* @Date: 2022/9/4 16:59* @Description: Personnel 用户中心服务 RestTemplate配置*/
@Configuration
public class PersonnelRestTemplateConfig {@LoadBalanced@Beanpublic RestTemplate restTemplate() {return new RestTemplate();}
}
- ② controller写法
package com.moonpac.personnel.controller;import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;/*** @Copyright (C), 2016-2022 MP* @ClassName: PersonnelTemplateController* @Author: hf* @Date: 2022/9/4 16:43* @Description: RestTemplate 远程调用服务*/
@Slf4j
@RestController
@RequestMapping("/personnel/template")
@RequiredArgsConstructor
public class PersonnelTemplateController {private static final String ICRMS_SERVER_ADDR = "http://aiops-icrms";private final RestTemplate restTemplate;@ApiOperation("RestTemplate 测试调用")@GetMapping("/list")public Object list() {log.info("RestTemplate 测试远程调用.....");return restTemplate.getForEntity(ICRMS_SERVER_ADDR + "/icrms/list", Object.class);}}
- ③、调用效果
3、Nacos作为配置中心
配置中心:
集中管理配置、配置动态更新、回滚配置…
- 1、导入服务发现功能的jar包
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
- 2、创建一个bootstrap.yaml或bootstrap.properties必须叫此名称
- SpringBoot默认规则,bootstrap.yaml里面的配置优先于application.yaml配置。
#Nacos 配置中心配置
spring:application:name: aiops-personnelcloud:nacos:config:# nacos 地址server-addr: 10.173.28.204:8848
- 3、默认配置规则
- dataId: 配置文件名 .properties或.yaml
- prefix−{prefix}-prefix−{spring.profile.active}.${file-extension}
- 前缀-当前环境.文件扩展名
- prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置。
- spring.profile.active 即为当前环境对应的 profile,详情可以参考 Spring Boot文档。 注意:当 spring.profile.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 prefix.{prefix}.prefix.{file-extension}
- file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml 类型。
aiops-icrms.properties aiops-icrms.yaml
总结: 只需要给Nacos中创建一个dataId名称叫做 当前项目名.properties 当前项目名.yaml
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UDBXHlaq-1676619824775)(./images/nacos/604EF494-59ED-4b33-9C22-DC40E94397D0.png)]
- 4、开启域刷新动态获取配置,实例代码
package com.moonpac.personnel.controller;import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.HashMap;/*** @Copyright (C), 2016-2022 MP* @ClassName: PersonnelParamsConfig* @Author: hf* @Date: 2022/9/4 17:16* @Description:*/
@Slf4j
@RestController
@RequestMapping("/personnel/params")
@RequiredArgsConstructor
//开启域动态刷新主类配置
@RefreshScope
public class PersonnelParamsConfigController {@Value("${personnel.version:11}")private String personnelVersion;@Value("${personnel.content:11}")private String personnelContent;@ApiOperation("Nacos配置中心测试")@GetMapping("/getParams")public Object getP() {HashMap<Object, Object> hashMap = new HashMap<>(3);hashMap.put("content", personnelContent);hashMap.put("version", personnelVersion);return hashMap;}}
- 5、所有的配置信息都可以写到Nacos中。
4、Nacos 命令空间
- 1、Nacos命名空间概念
- 命名空间:主要用于区分不同环境。
- 默认情况,本项目在public下找 项目名.properties文件 项目名.yaml
- Nacos组: 可以区分不同业务,不同业务不同组。
最佳实践:
使用namespace来区分不同的服务【每个服务都有自己的名称空间】。
使用Group来区分不同环境【dev,prod,test】
- 2、配置命名空间
#Nacos 配置中心配置
spring:application:name: aiops-personnelcloud:nacos:config:# nacos 地址server-addr: 10.173.28.204:8848# 设置默认的文件类型file-extension: yaml# 设置命名空间--此处填写的是ID 重要!!!# 设置命名空间--此处填写的是ID 重要!!!# 设置命名空间--此处填写的是ID 重要!!!namespace: 9dbdfc95-0174-49bd-9c2a-bc276ca41ecc
- 3、Nacos添加管理配置文件
- 4、加载使用配置
#Nacos 配置中心配置
spring:application:name: aiops-personnelcloud:nacos:config:# nacos 地址server-addr: 10.173.28.204:8848# 设置默认的文件类型file-extension: yaml# 设置命名空间--此处填写的是ID 重要!!!namespace: 9dbdfc95-0174-49bd-9c2a-bc276ca41eccextension-configs:# 批量加载配置文件- {dataId: "application-monitor.yaml",group: "DEV",refresh: true}- {dataId: "application-logback.yaml",group: "DEV",refresh: true}- {dataId: "application-sentinel.yaml",group: "DEV",refresh: true}- {dataId: "application-zipkin.yaml",group: "DEV",refresh: true}
5、Nacos配置文件参数详解
- 参考链接: https://blog.csdn.net/qq_40309050/article/details/124325382
相关文章:
Nacos详细使用操作文档(图文详细)
文章目录Nacos详细使用操作文档(图文详细)1、安装2、Nacos作为注册中心2.1、Nacos服务注册【ICRMS】2.2、Nacos 服务调用2.2.1、Feign 远程调用【Personnel】2.2.2)、RestTemplateRibbon 远程调用【Personnel】3、Nacos作为配置中心4、Nacos 命令空间5、Nacos配置文件参数详解N…...
如何评价2023年美赛ABC题目
A题 遭受干旱侵袭的植物群落 背景 不同种类的植物对压力的反应方式不同。例如,草原对干旱非常敏感。干旱发生的频率和严重 程度各不相同。大量的观察表明,不同物种的数量在植物群落如何适应连续几代的干旱周期中 起着重要作用。在一些只有一种植物的…...
Win10显示dds及tga缩略图
整理之前做游戏MOD时收集的模型资源,3D游戏模型的贴图文件格式基本都是dds或tga的,毕竟无损压缩、支持嵌入MipMap、带透明通道、可以被GPU硬解balabala...道理我都懂但这俩玩意系统根本直接查看不了,就算装上专门的看图软件或插件,文件夹视图下也没有缩略图预览,只能一个个点开…...
Lesson5.1---Python 之 NumPy 简介和创建数组
一、NumPy 简介 NumPy(Numerical Python)是 Python 的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比 Python 自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示…...
Exchange 2013升级以及域名绑定等若干问题
环境简介Exchange 2013服务器位于ad域中,系统为Windows server 2012 R2,其内部域名为:mail.ad.com一. Exchange客户端无法在浏览器中正常运行在域中部署Exchange服务器后,除了可以通过outlook、foxmail等邮件客户端来使用邮箱功能…...
linux安装jenkins
1. 官网寻找安装方式 进入到jenkins官网,找到对应的下载页面:https://www.jenkins.io/download/ 根据自己系统还有想要使用的版本,进行选择即可。这里我们使用CentOS作为示例,版本选择长期支持版(LTS) 2.…...
【MySQL】MySQL表的增删改查(CRUD)
✨个人主页:bit me👇 ✨当前专栏:MySQL数据库👇 ✨算法专栏:算法基础👇 ✨每日一语:生命久如暗室,不碍朝歌暮诗 目 录🔓一. CRUD🔒二. 新增(Creat…...
GCC for openEuler 数据库性能优化实践
GCC for openEuler是基于开源GCC开发的编译器工具链(包含编译器,汇编器,链接器),在openEuler社区开源发布,并通过鲲鹏社区免费提供二进制包,支持aarch64处理器架构。 关键特性 支持鲲鹏微架构芯…...
【C++】类和对象(第二篇)
文章目录1. 类的6个默认成员函数2. 构造函数2.1 构造函数的引出2.2 构造函数的特性3. 析构函数3.1 析构函数的引出3.2 析构函数的特性4. 拷贝构造函数4.1 概念4.2 特性5.赋值运算符重载5.1 运算符重载概念注意练习5.2 赋值重载实现赋值重载的特性6. const成员函数7. 取地址及co…...
MySQL数据库(数据库约束)
目录 数据库约束 数据库约束的类型: null约束 : unique约束(唯一约束): default约束(默认值约束): primary key约束(主键约束): for…...
Hive的安装与配置
一、配置Hadoop环境先看看伪分布式下的集群环境有没有错误的情况:输入命令:start-all.sh jps查看伪分布式的所有进程是否完善二、解压并配置HiveHive压缩包→ https://pan.baidu.com/s/1eOF_ICZV8rV-CEh3nX-7Xw 提取码: m31e 复制这段内容后打开百度网盘…...
关于医院医用医疗隔离电源系统应用案例的分析探讨
【摘要】:介绍该三级医院采用安科瑞医用隔离电源柜,使用落地式安装方式,从而实现将TN系统转化为IT系统,同时监测系统绝缘情况。 【关键词】医用隔离电源柜;IT系统;绝缘情况;中西医结合医院&…...
【LeetCode】剑指 Offer 07. 重建二叉树 p62 -- Java Version
题目链接:https://leetcode.cn/problems/zhong-jian-er-cha-shu-lcof/ 1. 题目介绍(07. 重建二叉树) 输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。 假设输入的前序遍历和中序遍历的结果中都不含重复的…...
ERROR 1114 (HY000): The table ‘tt2‘ is full
insert 操作时提示is full 问题原因 rootlocalhost 11:55:41 [t]>show table status from t like ‘tt2’ \G ; *************************** 1. row *************************** Name: tt2 Engine: MEMORY Version: 10 Row_format: Fixed Rows: 7056 Avg_row_length: 944…...
考了PMP证后工资大概是多少 ?(含pmp资料)
这个岗位的不同还有每个公司的薪资也是不一样的,具体的数字肯定是没有的,但大概的比例还是有的,据PMI调查,在获得PMP证书的人当中,在PMP认证一年后,年薪有所增长的比例为66%,上涨幅度主要集中在…...
基于国产龙芯 CPU 的气井工业网关研究与设计(一)
当前,我国气田的自动化控制程度还未完全普及,并且与世界已普及的气井站的自 动化程度也存在一定的差距。而在天然气资源相对丰富的国家,开采过程中设备研发资 金投入较大,研发周期较长,更新了一代又一代的自动化开采系…...
40/365 javascript 数据类型
1.数据类型 number类型:整数,小数都属于这一类,不具体区分 字符串:hello, "hello" 布尔类型:true,false 逻辑运算符: && || ! 比较运算符: : 类型不一致&#x…...
后勤管理系统—服务台管理功能
数图互通是一家IT类技术型软件科技公司,专业的不动产、工作场所、空间、固定资产、设备家具、设施运维及可持续性管理解决方案软件供应商。 一、后勤管理系统服务台管理功能包含: 1、专业自动化、集中管理的自助服务助理,随时响应服务请求。…...
Spring Boot 是什么,应该如何学习,有哪些优缺点
1、Spring Boot 是什么? Spring Boot是一个基于Spring框架的开源项目,它简化了Spring应用程序的开发过程,提供了一种快速、便捷、可扩展的方式来构建Spring应用程序。 Spring Boot通过自动化配置机制简化了Spring应用程序的配置过程&#x…...
使用yolov5和强化学习训练一个AI智能欢乐斗地主(一)
这里写自定义目录标题项目介绍项目过程介绍训练yolov5目标检测斗地主收集数据集yolov5调参项目介绍 你好! 欢迎阅读我的文章,本章将介绍,如何使用yolov5和强化学习训练一个AI斗地主,本项目将分为三个部分,其中包含&am…...
C++ 浅谈之 AVL 树和红黑树
C 浅谈之 AVL 树和红黑树 HELLO,各位博友好,我是阿呆 🙈🙈🙈 这里是 C 浅谈系列,收录在专栏 C 语言中 😜😜😜 本系列阿呆将记录一些 C 语言重要的语法特性 dz…...
【Kotlin】Kotlin函数那么多,你会几个?
目录标准函数letrunwithapplyalsotakeIftakeUnlessrepeat小结作用域函数的区别作用域函数使用场景简化函数尾递归函数(tailrec)扩展函数高阶函数内联函数(inline)inlinenoinlinecrossinline匿名函数标准函数 Kotlin标准库包含几个…...
饲养员喂养动物-课后程序(JAVA基础案例教程-黑马程序员编著-第四章-课后作业)
【案例4-2】饲养员喂养动物 记得 关注,收藏,评论哦,作者将持续更新。。。。 【案例目标】 案例描述 饲养员在给动物喂食时,给不同的动物喂不同的食物,而且在每次喂食时,动物都会发出欢快的叫声。例如&…...
数据分析:消费者数据分析
数据分析:消费者数据分析 作者:AOAIYI 创作不易,如果觉得文章不错或能帮助到你学习,记得点赞收藏评论一下哦 文章目录数据分析:消费者数据分析一、前言二、数据准备三、数据预处理四、个体消费者分析五、用户消费行为总…...
Transformer论文阅读:ViT算法笔记
标题:An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale 会议:ICLR2021 论文地址:https://openreview.net/forum?idYicbFdNTTy 文章目录Abstract1 Introduction2 Related Work3 Method3.1 Vision Transformer3.2…...
Android基础练习解答【2】
文章目录一 填空题二 判断题三 选择题四 简答题一 填空题 1.除了开启开发者选项之外,还需打开手机上的 usb调试 开关,然后才能在手机上调试App。 2.App开发的两大技术路线包括 _原生开发_和混合开发。 3.App工程的编译…...
k8s 搭建
需求:搭建k8s 为后续自动部署做准备进程:安装至少两个ubuntu18.04系统(一个master 一到多个 node)每个系统上都要装上docker 和 kubernetes安装dockersudo su apt-get update#安装相关插件 apt-get install apt-transport-https c…...
安全运维之mysql基线检查
版本加固 选择稳定版本并及时更新、打补丁。 稳定版本:发行6-12个月以内的偶数版本。 检查方法: 使用sql语句:select version(); 检查结果: 存在问题:当前数据库版本较老需要更新 解决方案:前往http://www.mysql…...
跨境电商卖家敦煌、雅虎、乐天、亚马逊测评自养号的重要性!
作为亚马逊、敦煌、乐天、雅虎等跨境的卖家,这两年以来,面对流量越来越贵的现实,卖家需要更加珍惜每次访问listing页面的流量,把转化做好,把流量尽可能转化为更多的订单。 提升转化率的技巧 提升产品转化率࿰…...
Python 之 Matplotlib xticks 的再次说明、图形样式和子图
文章目录一. 改变 x 轴显示内容 xticks 方法再次说明1. x 轴是数值型数据2. 将 x 轴更改为字符串3. 总结二. 其他元素可视性1. 显示网格:plt.grid()2. plt.gca( ) 对坐标轴的操作三. plt.rcParams 设置画图的分辨率,大小等信息四. 图表的样式参数设置1. …...
wordpress 自定义分类id/长春网站建设平台
黄胤凯 原创作品转载请注明出处 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 按照实验要求,在实验楼中进行代码测试(我觉得我该换电脑了......实验楼都卡......) 环境建立好后,新开一个shell…...
电影网站建设公司/精准营销及推广
这几天做了个较完整的网页放到github上,上传后看网页效果。 在Firefox浏览器中,显示正常。 在百度浏览器中,空了一大块位置(图片位置),偏偏只空了这一块,其它地方的图片都好好的。 点击f12查看&…...
凡科建站步骤/竞价广告
两个异或方程组的题目,都比较经典,贴上代码当模板,代码来自他人博客 POJ 1222 题目大意:给你一个5*6的格子,每个格子中有灯(亮着1,暗着0),每次你可以把一个暗的点亮&am…...
有免费做理化试验的网站吗/seo建站是什么
Kraft 0.50 支持单个文档中的多税率;可添加地址到一个已存在的文档中;从第二页开始显示文档页码;添加条目到文档后自动聚焦;重构了文档类型配置对话框;提升了文档保存的速度。 Kraft 是一个 KDE 应用,为小型…...
做时时彩网站费用/网络服务商主要包括哪些
目录4. 安装和配置网络负载均衡服务4.1 安装NLB服务4.2 创建NLB集群4.3 将服务器添加到集群5. 验证负载均衡服务器5.1 拓扑说明5.2 安装IIS服务5.3 验证负载均衡参考资料关联博文4. 安装和配置网络负载均衡服务 4.1 安装NLB服务 (1)在NLB1中打开【服务…...
做网站时的注册权起到什么作用/免费国外ddos网站
围绕一下问题展开:1.用什么去创建节点?(URL)2.怎么创建节点?(递归)3.失败怎么处理(含有重试逻辑)这里采用递归的方式,create节点失败重试逻辑(重要)类的继承关…...