Nacos主要功能

一、Nacos主要功能

快速搭建单机demo:

1.服务发现与服务健康检查

临时实例和持久实例

服务实例注册到nacos注册中心的时候会有临时实例和持久实例两种(spring.cloud.nacos.discovery.ephemeral为true则为临时实例(默认值),为false则为持久实例):
临时实例
默认情况,服务实例仅会注册在Nacos内存,不会持久化到Nacos磁盘,其健康检测机制为Client模式,即Client主动向Server上报其健康 状态(类似于推模式);默认心跳间隔为5秒,在15秒内Server未收到Client心跳,则会将其标记为“不健康”状态;在30秒内若收到了Client心跳,则重新恢复“健康”状态,否则该实例将从Server端内存清除。即对于不健康的实例,Server会自动清除;
持久实例
服务实例不仅会注册到Nacos内存,同时也会被持久化到Nacos磁盘,其健康检测机制为Server模式,即Server会主动去检测Client的健康状态(类似于拉模式);默认每20秒检测一次,健康检测失败后服务实例会被标记为“不健康”状态,但不会被清除,因为其是持久化在磁盘的,其对不健康持久实例的清除,需要专门进行;

适用场景:
临时实例适合于存在突发流量暴增可能的互联网项目,可以实现弹性扩容,正常生产中的环境就是这样;

持久实例保护阈值,比如说服务A有100个实例,那么当有98个不可用时:
如果是临时实例,则只会返回两个服务,那么大并发量请求这两个服务肯定会造成雪崩的,造成整个服务不可用;
如果是持久实例,实例会全部返回,虽然有98个不可用,消费者可能会请求失败,但不至于剩下的两个健康实例崩溃;

nacos有个保护阀值的概念:可以设置为0-1之间的浮点数,它其实是⼀个⽐例值(当前服务健康实例数/当前服务总实例
数,保护阈值的意义在于当服务A健康实例数/总实例数 < 保护阈值 的时候,说明健康实例不多了,这个时候保护阈值会被触
发(状态true),nacos将会把该服务所有的实例信息(健康的+不健康的)全部提供给消费者,消费者可能访问到不健康
的实例,请求失败,但这样也⽐造成雪崩要好,牺牲了⼀些请求,保证了整个系统的⼀个可用。

在这里插入图片描述

命名空间

namespace 的设计是 nacos 基于此做多环境以及多租户数据(配置和服务)隔离的。
应用场景:

 从一个租户(用户)的角度来看,如果有多套不同的环境,那么这个时候可以根据指定的环境来创建不同的 namespce,以此来实现多环境的隔离。例如,你可能有测试,预生产和生产三个不同的环境,那么使用一套 nacos 集群可以分别建以下三个不同的 namespace。
 
从多个租户(用户)的角度来看,每个租户(用户)可能会有自己的 namespace,每个租户(用户)的配置数据以及注册的服务数据都会归属到自己的 namespace 下,以此来实现多租户间的数据隔离。例如超级管理员分配了三个租户,分别为张三、李四和王五。分配好了之后,各租户用自己的账户名和密码登录后,创建自己的命名空间。

注意:服务注册到不同的命名空间下,服务间无法通过OpenFeign指定服务名进行负载通信!!!

服务分组

不同的服务可以归类到同一分组。当服务即使处于同一个命名空间,如果不在同一个分组,仍无法使用OpenFeign进行负载调用通信

权重

实例级别的配置。权重为浮点数。权重越大,分配给该实例的流量越大。值为0~1的数值。

应用场景:
服务器设备性能有差异,部分实例所在机器性能较好,另一些较差,我们希望性能好的机器承担更多的用户请求。但默认情况下 NacosRule 是同集群内随机挑选,不会考虑机器的性能问题。

2.动态配置管理

nacos作为配置中心时也是要区分命名空间和分组的,作用和作为注册中心类似。

动态配置

nacos同spring-cloud-config一样,可以作为一个配置中心,统一的来管理配置,可以配置多套环境,各个微服务可以按需到nacos配置中心拉取相关配置,并且Nacos消除了在更新配置时重新部署应用程序和服务的需要(通过添加@RefreshScope注解实现),这使配置更改更加高效和灵活。
在这里插入图片描述

在这里插入图片描述

灰度配置

 灰度配置指的是指定部分客户端IP进行新配置的下发,其余客户端配置保持不变,用以验证新配置对客户端的影响,保证配置的平稳发布。灰度配置是生产环境中一个比较重要的功能,对于保证生产环境的稳定性非常重要。在1.1.0中,Nacos 支持了以IP为粒度的灰度配置。

在这里插入图片描述
点击“发布Beta”后,“发布Beta”按钮变灰,此时可以选择“停止Beta”或者“发布”。“停止Beta”表示取消停止灰度发布,当前灰度发布配置的IP列表和配置内容都会删除,页面回到正常发布的样式。“发布”表示将灰度配置在所有客户端生效,之前的配置也会被覆盖,同时页面回到正常发布的样式:
在这里插入图片描述

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值