注:基于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. 听说你想用免费的FOFA?

    非付费会员,fofa数据无限抓取版,配置普通用户cookie即可使用 FOFA的采集工具都陆续转变成了通过官方的API接口进行获取,例如狼组的fofa_viewer 蒽,好像已经没有我这种老年人的生存 ...

  2. 【模板】网络最大流 Dinic(多路增广+当前弧优化)

    复杂度上界为 \(\Theta(n^2m)\),实际效率远高于此. #include <bits/stdc++.h> using namespace std; const int N=5e ...

  3. DDL_操作数据库_修改&删除&使用

    DDL_操作数据库_修改&删除&使用 3.U(Update) : 修改 修改数据库的字符集 alter database 数据库名称 character set 字符集名称; 4.D( ...

  4. Task记录1.CancellationToken 取消Task任务的操作

    //1.创建取消令牌数据 CancellationTokenSource tokenSource = new CancellationTokenSource(); //2.创建取消令牌 Cancell ...

  5. FAQ Selenium中提示can not connect to the service chromedriver 的解决方法

    can not connect to the service chromedriver问题的处理 背景 一个同学反馈运行如下代码  from selenium import webdriver     ...

  6. redis实现分布式锁(包含代码以及分析利弊)

    redis实现分布式锁(基础版) 使用redis实现分布式锁的方法有多种,基础版本是基于setnx命令,即如果不存在则设置.这个命令可以保证只有一个客户端能够成功设置一个key,从而获得锁.设置key ...

  7. Thymeleaf中判断Security权限 - SpringBoot

    参考:https://blog.csdn.net/perfect_red/article/details/110821582

  8. ACID和CAP的比较

    https://www.jdon.com/artichect/acid-cap.html 1 简介 事务机制ACID和CAP理论是数据管理和分布式系统中两个重要的概念,很不巧,这两个概念中都有相同的& ...

  9. 项目与自身毕设对比整理规划6 330 done

    3.30 没用呢- - 功夫不负有心人啊啊啊啊啊啊啊啊啊啊啊啊啊啊 成功了- - 但是很可恶 需要把数据返回然后放在那个文件里面才可以 现在就是问题就是返回数据的时候需要把这个文件存成数据接口 fin ...

  10. Fiegn 声明式接口调用

    五:Fiegn 声明式接口调用 什么是Fiegn Netfix,Fiegn 是一个提供模板式的Web Service客户端,使用Fiegn 可以简化Web Service 客户端的编写,开发者可以通过 ...