Nacos注册中心
目录
认识和安装Nacos
启动方式
Nacos快速入门
提示
Nacos服务分级存储模型
服务跨集群调用问题
管理端设置策略
总结
Nacos环境隔离
如何创建
使用方式
编辑
总结
Nacos注册中心分析
临时实例和非临时实例
定义
配置方式
总结
认识和安装Nacos
Nacos是SpringCloud的一个组件,比Eureka功能更丰富一些
下载地址 :Releases · alibaba/nacos · GitHub
启动方式
打开bin目录,在该路径下打开cmd,输入命令
startup.cmd -m standalone
这种是以非集群式启动,因为我们还没有涉及到集群式服务启动。
如果想以集群式启动的话,直接双击startup.cmd就可以。
关闭双击shutdown.cmd就可以。
Nacos快速入门
在父项目的pom.xml文件中添加依赖:
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring-cloud-alibaba.version}</version><type>pom</type><scope>import</scope></dependency>
对于消费者和提供者所在的服务的pom.xml,因为Nacos和Eureka都是注册中心,所以说我们需要注释掉Eureka的依赖(如果有的话)。
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency>
按照springboot的老套路来说,添加完依赖后,我们就需要去修改或application.yml。
还是先注释掉以前的Eureka的配置(如果有的话),然后在spring的节点下加入
cloud:nacos:server-addr: localhost:8848
端口根据你的实际情况修改

启动Nacos时这里就可以看到你的版本、端口号、pid,ctrl+网址就可以直接跳转到你的注册中心管理端,账号和密码默认都是nacos。
ok,依赖和配置都完成后我们就可以启动项目了,接口功能也都是可以实现的。主要就是你观察管理端的信息。
提示
这里的版本我们都是要对应的,版本不兼容是不可以启动的,我给大家罗列出来。
spring-boot和spring-cloud的关系和spring-cloud-alibaba的关系和nacos的关系





这里呢,你就可以完全避免版本不兼容的问题的,如果想升级的话参照也是完全ok的。
Nacos服务分级存储模型

服务跨集群调用问题
服务调用尽可能选择本地集群的服务,跨集群调用比较费时;
本地集群不可访问时,再去访问其他集群。
在application.yml中配置起来也非常简单,在消费者和提供者中都要配置,因为要确保服务者和提供者在同一集群。
nacos:server-addr: localhost:8848discovery:cluster-name: HZ # 配置集群名称,也就是机房位置,例如:HZ,杭州
就是比之前的多了两行而已,服务集群的名称要你自定义。
重启服务你就可以在Nacos的管理端发现变化了。
这里比Eureka好的是它可以直观的观察到每台服务器的ip地址。
同时我们还可以根据集群名称设置负载均衡
userservice:ribbon:NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule # 负载均衡规则
这里的负载均衡规则会优先寻找与自己同集群的提供者服务。
管理端设置策略
管理端可以设置每个服务实例的权重,权重越大,被选择到的概率就越大。出现该策略的原因是每个机器的运行速度不一样,让好的机器承担更多的访问。
总结
一级:提供者的服务。
二级:集群的名称。
三级:集群中部署了该服务的物理服务器。
负载均衡策略
优先选择同集群服务实例列表
找不到提供者,才会去其他集群寻找,并且发出警告
先确认集群中的实例列表,再根据负载均衡策略选择具体的实例
权重策略
值在0~1之间
权重越大,概率越大
0的话就不会被访问
Nacos环境隔离
Nacos中服务存储和数据存储的最外层都是一个名为namespace的东西,用来做最外层隔离
如何创建

用来隔离不同环境

创建成功这里是可以看到的
使用方式
对于你的消费者服务,在你的配置文件中添加一行就可以
总结
每个namespace都有一个唯一的ID,除了默认的public
配置文件中的namespace属性设置的是ID,而不是名称
不同namespace下的服务不可见,也就是说刚才你修改后就获取不到提供者的服务了。
Nacos注册中心分析

临时实例和非临时实例
定义
临时实例(即服务)宕机或者下线时,会被nacos从服务列表中删除,而非临时实例依旧会存在。
服务默认就是临时实例
配置方式
cloud:nacos:server-addr: localhost:8848discovery:cluster-name: HZ # 配置集群名称,也就是机房位置,例如:HZ,杭州ephemeral: false #代表非临时实例
总结
nacos和eureka共同点
都支持服务注册和服务拉取
都支持服务提供者心跳方式做健康检测
区别
nacos服务端临时实例采用心跳模式,非临时实例采用主动检测模式
nacos支持服务列表变更的消息推送模式,服务列表更新及时
nacos集群默认使用AP方式,存在非临时实例,采用CP模式,Eureka采用的是AP模式。
相关文章:
Nacos注册中心
目录 认识和安装Nacos 启动方式 Nacos快速入门 提示 Nacos服务分级存储模型 服务跨集群调用问题 管理端设置策略 总结 Nacos环境隔离 如何创建 使用方式 编辑 总结 Nacos注册中心分析 临时实例和非临时实例 定义 配置方式 总结 认识和安装Nacos Nacos是Sp…...
Liunx常用命令总结
常用命令arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo …...
MySQL表的增删查改(进阶)
所有操作:主要讲了数据库的约束,表之间的关系,新增,聚合查询,联合查询等内容。是一篇博客所有操作的记录。 844d186 风夏/mysql_learning - Gitee.com数据库约束1.1 约束条件not null -指定某个列不能储存null值。un…...
【RocksDB】Ubuntu20.04下编译rocksdb
前言: 我在刚学rocksdb的时候是在2022年,但是网上的资源很少,查了好久才把rocksdb安装成功,在这里向大家分享一下我的经历,安装过程中也报了很多错误,希望大家不要迷路 首先 在虚拟机里面安装依赖的包以…...
这可能是Spring Boot Starter 讲的最清楚的一次了
Spring Boot Starter 是 Spring Boot 中非常重要的一个功能,它可以帮助开发人员快速集成各种第三方库和框架。本文将从 Spring Boot Starter 的基本概念入手,深入讲解 Spring Boot Starter 的实现原理及其应用场景。 一、Spring Boot Starter 的概念 S…...
activiti7执行流程详解
什么是工作流? 官方定义:工作流是将一组任务组织起来以完成某个经营过程:定义了任务的触发顺序和触发条件,每个任务可以由一个或多个软件系统完成,也可以由一个或一组人完成,还可以由一个或多个人与软件系统…...
iframe页面传值取值
业务:目标界面的是用原生js写的 , 被镶嵌到vue平台上 , 现在要求vue点击跳转的时候 ,要附带上值 ,让原生界面获取到值 , 完成页面设置查询。 想法 : vue跳转,使用this.$route.qu…...
2023年2月安全事件盘点
一、基本信息 2023年2月安全事件共造成约3796万美元损失,相较于上个月,安全事件数量与损失金额都有显著上升,其中Platypus Finance闪电贷攻击为单次利用损失之最高达850万美元。本月RugPull数量基本与上月持平,损失金额占比显著降…...
2023上海国际电商物流包装产业展览会相约上海
2023年7月5-7日 | 上海新国际博览中心 同期举办:2023上海国际快递物流产业博览会 指导单位:上海市邮政管理局 中国快递协会 主办单位:上海市快递行业协会 上海市仓储与配送行业协会 上海市物流协会 承办单位:上海信世展览服务有…...
营业执照注册资本是什么意思
一、营业执照注册资本是什么意思 营业执照上的注册资本是指合营企业在登记管理机构登记的资本总额,是合营各方已经缴纳的或合营者承诺一定要缴纳的出资额的总和。我国法律、法规规定,合营企业成立之前必须在合营企业合同、章程中明确企业的注册资本&…...
GB28181协议--SIP协议介绍
1、SIP协议简介 SIP(Session Initiation Protocol,会话初始协议)是一个用于建立、更改和终止多媒体会话的应用层控制协议,其中的会话可以是IP电话、多媒体会话或多媒体会议(GB28181安防使用的是SIP协议)。S…...
Python3 入门教程||Python3 元组||Python3 字典
Python3 元组 Python 的元组(tuple,简写为tup)与列表类似,不同之处在于元组的元素不能修改。 元组使用小括号(),列表使用方括号[]。 元组创建很简单,只需要在括号中添加元素,并使用逗…...
多元统计方法众多,分类还是排序?约束排序还是非约束排序?哪种方法或技术更适合我的研究目的或数据?
生态环境领域研究中常常面对众多的不同类型的数据或变量,当要同时分析多个因变量(y)时需要用到多元统计分析(multivariate statistical analysis)。多元统计分析内容丰富,应用广泛,是非常重要和…...
有关白盒加密
白盒密码技术白皮书 有关白盒的概念 其实白盒黑盒之类概念其实是软件保护方面的概念,在很多方面都有应用,例如 黑盒: 传统的加密技术是默认假定处于黑盒中的,也就是假定攻击者无法获得密钥。具体而言,认为攻击者并…...
C#学习系列之image控件配合ffmpeg播放视频(bitmap转image)
C#学习系列之image控件配合ffmpeg播放视频(bitmap转image)啰嗦ffmpeg输入格式与输出格式bitmap数据在image控件上显示数据转化总结啰嗦 关于音视频解码问题,采用海思解码库进行解码,存在C#托管调用动态库,会出现卡顿的…...
电容笔和Apple pencil有什么区别?开学季电容笔排行榜
与苹果的 Pencil相比,市面上常见的电容笔在压感上是没有具备重力压感,只具备着一种倾斜压感。对于绘画没有过高要求的话,其实一支普通的平替电容笔,就能为我们解决日常很多问题。它不仅可以用在办公上,也可以用在笔记、…...
【蓝桥杯每日一题】递归算法
🍎 博客主页:🌙披星戴月的贾维斯 🍎 欢迎关注:👍点赞🍃收藏🔥留言 🍇系列专栏:🌙 蓝桥杯 🌙我与杀戮之中绽放,亦如黎明的花…...
java 寻找2020
题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 小蓝有一个数字矩阵,里面只包含数字 0 0 和 2 2。小蓝很喜欢 2020 2020,他想找 到这个数字矩阵中有多少个 2020 2020 。 小蓝只关注三种构成 …...
1.1 小白黑群晖构建,硬件推荐,硬件选购教程
构建一台黑群晖需要购买:CPU主板、散热器、内存条、机箱、电源、硬盘、网卡(可选)。物理机安装若需硬解需选择918/920此类机型系统进行安装。关联教程:黑群晖安装中的报错:https://guoqing.blog.csdn.net/article/deta…...
实验三、数字PID控制器的设计
实验三、数字PID控制器的设计 --- 直流闭环调速实验 一、实验目的 1.理解晶闸管直流单闭环调速系统的数学模型和工作原理;. 2. 掌握PID控制器参数对控制系统性能的影响; 3. 能够运用MATLAB/Simulink软件对控制系统进行正确建模并对模块进行正确的参数设置; 4.…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
tomcat指定使用的jdk版本
说明 有时候需要对tomcat配置指定的jdk版本号,此时,我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...
水泥厂自动化升级利器:Devicenet转Modbus rtu协议转换网关
在水泥厂的生产流程中,工业自动化网关起着至关重要的作用,尤其是JH-DVN-RTU疆鸿智能Devicenet转Modbus rtu协议转换网关,为水泥厂实现高效生产与精准控制提供了有力支持。 水泥厂设备众多,其中不少设备采用Devicenet协议。Devicen…...
区块链技术概述
区块链技术是一种去中心化、分布式账本技术,通过密码学、共识机制和智能合约等核心组件,实现数据不可篡改、透明可追溯的系统。 一、核心技术 1. 去中心化 特点:数据存储在网络中的多个节点(计算机),而非…...
