注:基于SpringBoot项目

一、服务注册

1. 依赖引入

# 首先父工程中引入 SpringCloudAlibaba 版本管理依赖,其中会包含 nacos 的版本

<!-- SpringCloudAlibaba -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.6.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>

# 在需要进行服务注册的项目中引入 nacos-discovery ,类似于 eureka-client,注意,两者不要同时引入

<!-- nacos-discovery -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

2. nacos 地址配置:application.yml

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

3. nacos 的服务调用和负载均衡配置与 eureka 一致

参考:https://www.cnblogs.com/zhousjcn/p/15511161.html

二、Nacos服务分级模型

1. 如何设置实例的集群属性

  修改application.yml文件,添加spring.cloud.nacos.discovery.cluster-name属性即可

spring:
cloud:
nacos:
server-addr: localhost:8848 # nacos 服务地址
discovery:
cluster-name: HZ # 配置集群名称,也就是机房位置,例如:HZ,杭州

2. Nacos服务分级存储模型

  一级是服务,例如 userservice、orderService等等

  二级是集群,例如 杭州 或 上海

  三级是实例,例如杭州机房的某台部署了userservice的服务器

三、本地集群调用

  本地集群调用,即杭州(HZ)的服务,在调用其他服务时,优先调用本地(杭州-HZ)服务,在本地的服务列表中随机选择服务调用,其次才是调用其他集群的服务。

  步骤:

  1. 在配置集群时,名称相同,例如有 orderService和userService同时配置为 HZ

  2. 修改负载均衡规则为 nacosRole

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

  3. 跨集群调用服务会有警告信息打印

四、权重配置

说明:

  • 权重值一般在 0 ~ 1 之间,包含 0 和 1
  • 权重越小,服务被访问的概率越低,当服务权重设置为 0 时,该服务将不被访问
  • 服务权重配置最基本的用法是调整某些服务被访问的概率,例如降低运行在服务器性能比较低的服务访问概率等
  • 服务权重配置可以应用在服务升级、发版时,首先将服务权重设置为 0 ,新服务启动成功后逐渐条高权重,使得访问量逐渐提高,这样加入新服务存在问题,那么影响范围也比较小

1. 打开某个服务的服务列表,点击需要修改权重服务的编辑按钮

2. 在权重条码直接修改权重值即可

五、环境隔离

  处于不同命名空间的服务之间无法访问。

1. 命名空间配置

点击确认后,创建的命名空间会出现在列表中,其中 命名空间ID 会在服务配置中使用到

2. 服务中配置指定命名空间

spring:
cloud:
nacos:
server-addr: localhost:8848 # nacos 服务地址
discovery:
cluster-name: HZ # 配置集群名称,也就是机房位置,例如:HZ,杭州
namespace: 13ad45bc-1fa3-4702-b7b8-9310aedaf8bd # 这里配置命名空间的ID

六、配置非临时实例

1. 临时实例和非临时实例的区别

  • 与Eureka差别在于服务提供者,Nacos会将服务提供者划分为临时实例和非临时实例
  • 临时实例心跳有服务提供者发出,每30秒一次,一旦心跳停止,Nacos会直接从服务列表剔除
  • 非临时实例不会主动发起心跳,由服务注册中心Nacos发起询问,频率高于临时实例,且询问得不到回复时,并不会将服务提供者从服务列表剔除

2. 配置方式

spring:
cloud:
nacos:
server-addr: localhost:8848 # nacos 服务地址
discovery:
cluster-name: HZ # 配置集群名称,也就是机房位置,例如:HZ,杭州
namespace: 13ad45bc-1fa3-4702-b7b8-9310aedaf8bd # 这里配置命名空间的ID
ephemeral: false # 设置为非临时实例,默认为 true,表示服务为临时实力注册到服务注册中心

Nacos服务管理的更多相关文章

  1. 微服务管理平台nacos虚拟ip负载均衡集群模式搭建

    一.Nacos简介 Nacos是用于微服务管理的平台,其核心功能是服务注册与发现.服务配置管理. Nacos作为服务注册发现组件,可以替换Spring Cloud应用中传统的服务注册于发现组件,如:E ...

  2. SpringCloud使用Nacos服务发现实现远程调用

    本文使用SpringCloud结合Nacos服务发现,Feign远程调用做一个简单的Demo. 1 Nacos 关于Nacos之前写了两篇文章关于SpringBoot对它的使用,感兴趣可以查看一下. ...

  3. Spring Cloud Alibaba(一) 如何使用nacos服务注册和发现

    Nacos介绍 Nacos 致力于帮助您发现.配置和管理微服务.Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现.服务配置.服务元数据及流量管理. Nacos 帮助您更敏捷和容易地构 ...

  4. 使用 Nacos 的 Docker 镜像,启动 Nacos 服务

    1.镜像网址:https://hub.docker.com/r/nacos/nacos-server 2.Clone project git clone --depth 1 https://githu ...

  5. nacos服务注册与发现及服务配置实现

    Nacos 提供了一组简单易用的特性集,可快速实现动态服务发现.服务配置.服务元数据及流量管理. 更敏捷和容易地构建.交付和管理微服务平台. 关键特性: 服务发现和服务健康监测 动态配置服务 动态 D ...

  6. Spring Cloud Alibaba 实战 之 Nacos 服务注册和发现

    服务注册与发现,服务发现主要用于实现各个微服务实例的自动化注册与发现,是微服务治理的核心,学习 Spring Cloud Alibaba,首先要了解框架中的服务注册和发现组件——Nacos. 一.Sp ...

  7. SpringCloud Alibaba Nacos 服务治理中心

    目录 一.什么是Nacos? 二.Nacos能干吗? 三.Nacos关键特性 四.Nacos中的基本概念 五.如何安装部署Nacos? 六.Nacos数据持久化 一.什么是Nacos? 英文全称Dyn ...

  8. SpringCloud Alibaba Nacos 服务注册

    业务服务接入Nacos服务治理中心 启动Nacos访问地址为:http://101.200.201.195:8848/nacos/ 创建bom工程用于管理依赖(下方附加源码地址) 准备工作完成后开始接 ...

  9. springcloudalibaba与nacos服务注册流程图

    springboot + springcloud + springcloudalibaba + nacos 服务注册流程图: springboot ①WebApplicationContext ②st ...

  10. nacos服务注册源码解析

    1.客户端使用 compile 'com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-discovery:2.2.3.RELEASE' compi ...

随机推荐

  1. 深入理解C++虚函数底层机制和RTTI运行时类型识别

    当调用一个虚函数时,被执行的代码必须与调用函数对象的动态类型相一致:指向对象的指针或引用的类型是不重要的,编译器是如何高效地提供这种行为呢?大多数编译器是使用virtual table和virtual ...

  2. 【深入浅出Spring原理及实战】「源码调试分析」结合DataSourceRegister深入分析ImportBeanDefinitionRegistrar的源码运作流程

    每日一句 人的一生中不可能会一帆风顺,总会遇到一些挫折,当你对生活失去了信心的时候,仔细的看一看.好好回想一下你所遇到的最美好的事情吧,那会让你感觉到生活的美好. 注入案例代码 如何通过实现Sprin ...

  3. golang主协程等待子协程执行完毕

    无限等待 计时等待 channel通信 select 等待组

  4. 在Spring Boot中整合Katharsis,来快速开发JSON API的Web应用

    1 简介 我们进行Web API开发的时候,经常会使用Json格式的消息体,而Json格式非常灵活,不同的人会有不同的设计风格和实现,而JSON API提供了一套标准.但它并不提供直接实现. Kath ...

  5. 【分析笔记】SiliconLabs EFR32BG22 Bluetooth Mesh SensorClient 源码分析

    硬件环境: SLTB010A(BRD4184A Rev A02 / EFR32BG22C224F512IM40) 软件环境: SimplicityStudio5/gecko_sdk_3.2.3 分析工 ...

  6. 【学习日志】MongoDB为什么选择B树,而MySQL选择B+树实现索引

    先说B树和B+树的区别 B树:非叶子节点也存储数据 B+树:只有叶子节点存储数据,且所有叶子节点通过指针相连接. 为什么MongoDB选择B树而,MySQL选择B+树呢?两种数据结构的区别摆在上面了, ...

  7. setInterval()的使用

    setInterval() 作用  这个函数可以将一个函数每隔一段时间执行一次 参数  1.回调函数,该函数会每隔一段时间被调用一次  2.每次调用间隔的时间,单位是毫秒 返回值  返回一个Numbe ...

  8. 02Python输入输出

    输入输出 print()函数 sep=' ' 数据之间一空格分割,默认是空格 end='\n' 在打印后会额外的加一个数据,默认是换行符 print("hello", " ...

  9. Ansible 多机自动化工具 初学笔记

    此文档仅张聪明同学个人笔记:新负责KTH-RPL Cluster GPU的漫漫学习长路 English Docs: https://docs.ansible.com/ansible/latest/in ...

  10. NOIP2021游记总结

    \(\text{Day-1}\) 惨遭遣返······ 这真是伟大的啊!! \(\text{Day1}\) \(day\) 几好像没有意义,反正只有一天 \(\text{T1}\) 极致 \(H_2O ...