当前位置: 首页 > news >正文

SPringCloud:Nacos快速入门及相关属性配置

目录

一、Nacos快速入门

1、在父工程中添加spring-cloud-alilbaba的管理依赖

2、如果有使用eureka依赖,将其注释

3、添加nacos的客户端依赖

4、修改yml文件,注释eureka配置

5、启动测试

二、Nacos相关属性配置

1、Nacos服务分级存储

2、根据集群负载均衡

3、设置权重负载均衡

4、环境隔离--namespace

5、临时实例

6、Nacos与eureka的区别


一、Nacos快速入门

1、在父工程中添加spring-cloud-alilbaba的管理依赖

            <!--nacos的管理依赖--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2.2.5.RELEASE</version><type>pom</type><scope>import</scope></dependency>

2、如果有使用eureka依赖,将其注释

3、添加nacos的客户端依赖

        <!-- nacos客户端依赖包 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency>

4、修改yml文件,注释eureka配置

spring:  cloud:nacos:server-addr: localhost:8848

5、启动测试

二、Nacos相关属性配置

1、Nacos服务分级存储

服务跨集群调用问题

服务调用尽可能选择本地集群的服务,跨集群调用延迟较高

本地集群不可访问时,再去访问其它集群

配置集群属性

1、修改配置文件

spring:cloud:nacos:server-addr: localhost:8848 # nacos服务地址discovery:cluster-name: SH  # 配置集群名称。也就是机房位置 SH代指上海

2、在Nacos控制台可以看到集群变化

2、根据集群负载均衡

1、在yml文件设置集群

2、在yml文件设置负载均衡

userservice: #服务名称ribbon:NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule  # 负载均衡规则

结论:

1、优先选择同集群服务实例列表

2、本地集群找不到提供者,才去其它集群寻找,并且会报警告

3、确定了可用实例列表后,再采用随机负载均衡挑选实例

3、设置权重负载均衡

1、在Nacos控制台可以设置实例的权重值,首先选中实例后面的编辑按钮


2、将权重设置为0-1,测试

结论:

1、Nacos控制台可以设置实例的权重值,0~1之间

2、同集群内的多个实例,权重越高被访问的频率越高

3、权重设置为0则完全不会被访问

4、环境隔离--namespace

Nacos中服务存储和数据存储的最外层都是一个名为namespace的东西,用来做最外层隔离

 1、在Nacos控制台可以创建namespace,用来隔离不同环境

 2、然后填写一个新的命名空间信息:

 3、保存后会在控制台看到这个命名空间的id:

4、修改yml文件,添加namespace

spring:datasource:url: jdbc:mysql://localhost:3306/cloud_order?useSSL=falseusername: rootpassword: rootdriver-class-name: com.mysql.jdbc.Driverapplication:name: orderservice # order的服务名称cloud:nacos:server-addr: localhost:8848 # nacos服务地址discovery:cluster-name: HZ  # 配置集群名称。也就是机房位置 SH代指上海namespace: 1c7289b5-e79d-4ce5-9067-e44f24fe6d5d #命名空间,填id dev环境

5、配置完后重启服务,发现服务已经被隔离开

 

 因为namespace不同,再次访问服务会报异常错误

结论:

1、namespace用来做环境隔离

2、每个namespace都有唯一id

3、不同namespace下的服务不可见

5、临时实例

服务注册到Nacos时,可以选择注册为临时或非临时实例,通过下面的配置来设置:
 

spring:datasource:url: jdbc:mysql://localhost:3306/cloud_order?useSSL=falseusername: rootpassword: rootdriver-class-name: com.mysql.jdbc.Driverapplication:name: orderservice # order的服务名称cloud:nacos:server-addr: localhost:8848 # nacos服务地址discovery:cluster-name: HZ  # 配置集群名称。也就是机房位置 SH代指上海namespace: 1c7289b5-e79d-4ce5-9067-e44f24fe6d5d #命名空间,填id dev环境ephemeral: false #设置非临时实例

6、Nacos与eureka的区别

Nacos与eureka的共同点

1、都支持服务注册和服务拉取

2、都支持服务提供者心跳方式做健康检测

Nacos与Eureka的区别

1、Nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模

2、临时实例心跳不正常会被剔除,非临时实例则不会被剔除

3、Nacos支持服务列表变更的消息推送模式,服务列表更新更及时

4、Nacos集群默认采用AP方式,当集群中存在非临时实例时,采用CP模式;Eureka采用AP方式

相关视频地址:微服务技术栈导学1_哔哩哔哩_bilibili


 

http://www.lryc.cn/news/30712.html

相关文章:

  • 医疗器械之模糊算法(嵌入式部分)
  • 网上销售笔记本系统
  • MySQL基础查询操作
  • English Learning - L2 语音作业打卡 小元音 [ʌ] [ɒ] Day9 2023.3.1 周三
  • Condition 源码解读
  • 看完这篇入门性能测试
  • 推导部分和——带权并查集
  • 费解的开关/翻硬币
  • OpenGL中的坐标系
  • Spring——Spring介绍和IOC相关概念
  • A+B Problem
  • 【ROS学习笔记11】ROS元功能包与launch文件的使用
  • 【python】
  • 充电协议: 快充协议,如何选充电宝?
  • 视觉SLAM十四讲ch6 非线性优化笔记
  • Nikto工具使用指南
  • Git(4)之基本工具
  • 好书推荐。
  • [Pytorch]DataSet和DataLoader逐句详解
  • 【Kettle-佛系总结】
  • JavaSE网络编程
  • 9万字“联、管、用”三位一体雪亮工程整体建设方案
  • springboot自动装配原理
  • Docker学习(二十)什么是分层存储?
  • Vue组件进阶(动态组件,组件缓存,组件插槽,具名插槽,作用域插槽)与自定义指令
  • 僵尸进程与孤儿进程
  • 基于注解@Transactional事务基本用法
  • Go项目(商品微服务-2)
  • 无头盔PICO-unity开发日记1(抓取、传送)
  • Material3设计指南笔记