注:基于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. CF构造题1600-1800(2)

    H. Hot Black Hot White(COMPFEST 14 - Preliminary Online Mirror (Unrated, ICPC Rules, Teams Preferred ...

  2. 经典问题 1 —— DAG 上区间限制拓扑序

    问题描述 给定一个 DAG,求一个拓扑序,使得节点 \(i\) 的拓扑序 \(\in [l_i,r_i]\). 题解 首先进行一个预处理:对于所有 \(u\),令 \(\forall (v,u)\in ...

  3. 如何使用 JuiceFS 创建 WebDAV 共享

    WebDAV 是一种基于 HTTP 的文件共享协议,最初被设计用于多用户文档协作编辑的场景,也被广泛应用在基于互联网的文件存储.数据同步等网盘类应用场景. 手机端和 PC 端有大量的应用内置了对 We ...

  4. 大数据实时多维OLAP分析数据库Apache Druid入门分享-下

    @ 目录 架构 核心架构 外部依赖 核心内容 roll-up预聚合 列式存储 Datasource和Segments 位图索引 数据摄取 查询 集群部署 部署规划 前置条件 MySQL配置 HDFS配 ...

  5. Dubbo 中 Zookeeper 注册中心原理分析

    vivo 互联网服务器团队- Li Wanghong 本文通过分析Dubbo中ZooKeeper注册中心的实现ZooKeeperResitry的继承体系结构,自顶向下分析了AbstractRegist ...

  6. 【开源】libserial_parse_text:命令行解析的基础库

    借助五一假期,写了一个命令行解析的基础库,一般可用于串口命令解析.TCP命令解析等等. 具有以下几种特点: 不涉及到具体硬件, 纯软件协议,与具体硬件分离. 支持不定长命令行,逐个字符解码,可以支持不 ...

  7. C++ 地球人口承载力

    题目描述 假设地球上的新生资源按恒定速度增长.照此测算,地球上现有资源加上新生资源可供 xx 亿人生活 aa 年,或供 yy 亿人生活 bb 年. 为了能够实现可持续发展,避免资源枯竭,地球最多能够养 ...

  8. Java Day 2

    标识符 凡是变量中需要自己命名的地方都是标识符,例如:包名.类名.变量名等等 标识符的命名规则 1.Java的标识符只能用26个英文字母大小写,0-9的数字,下划线(_),和美元的符号($). 2.标 ...

  9. ubuntu18.08安装eigen

    http://eigen.tuxfamily.org/index.php?title=Special%3AAllPages&from=&to=&namespace=100 除非 ...

  10. ubuntu18.04编译webrtc_android库

    webrtc 是谷歌提供的音视频通讯方案, 能够很好的解决音视频互联互通的场景. 本文基于 Ubuntu 18.04 编译 android 版本的过程, 其它平台也可以参考, 基本都大同小异. 编译环 ...