注:基于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. vue-element-admin 安装(node方式)

    vue-element-admin node方式安装 需要的环境: git .node.js 1.git clone 项目(2选 1) // github https://github.com/Pan ...

  2. 使用Spring MVC框架进行前台页面跳转时,跳转到的新页面中文显示乱码的问题解决

    使用Spring MVC框架进行前台页面跳转时,跳转到的新页面中文显示乱码的问题解决   摘要:我昨天花了一天时间学习了SSM项目搭建,却在最终的编码问题上拉胯了,在使用Spring MVC框架进行前 ...

  3. 05-Sed操作参数(II)

    1 Sed操作参数 1.1 q 参数q表示跳离sed [address1]q sed执行跳离动作的时候,会停止输入pattern space数据,同时停止数据送到标准输出文件. 例1 对于文件执行sc ...

  4. 解决node.js报错Invalid character in header content ["Content-Disposition"]

    遇到这种报错一般在于下载文件时候,如果Content-Disposition设置文件名有中文会出现此种问题,解决方案如下: 把第二段代码改为第一段,即可~~ 'Content-Disposition' ...

  5. 前端向后端发送请求(FormData),你们不要吐槽我,有的时候我也不想写注释

    JSON对象转成formData对象,formData对象转成JSON 在向后端请求时,如果上传的数据里存在file文件对象,需要用到表单提交,这时候我们需要将JSON对象,转成formData对象, ...

  6. Properties集合中的方法load-缓冲流的原理

    Properties集合中的方法load 参数:InputStream instream:字节输入流,不能读取含有中文的键值对Reader reader:字符输入流,能读取含有中文的键值对使用步骤:1 ...

  7. 对象数组- 什么是ArrayList类

    对象数组 引入--对象数组 使用学生数组,存储三个学生对象,代码如下: public class Student { private String name; private int age; pub ...

  8. 12月21日内容总结——forms组件渲染标签、展示信息、校验数据的一些补充,forms组件参数和源码剖析,modelform组件,Django中间件

    目录 一.forms组件渲染标签 二.forms组件展示信息 三.forms组件校验补充 四.forms组件参数补充 五.forms组件源码剖析 六.modelform组件 什么是modelform组 ...

  9. 基于APIView&ModelSerializer写接口

    目录 基于APIView&ModelSerializer写接口 一.首先准备前提工作 1.模型代码 2.路由代码 3.视图代码 二.继承Serializer序列化定制字段的三种方法 1.通过s ...

  10. CentOS7 登录到控制台后无法联网

    登录到控制台, ping 不通网络 解决方法 通过命令找到网卡的配置文件见 ll /etc/sysconfig/network-scripts/ | grep ifcfg-en 编辑配置文件 vi i ...