返回顶部
首页 > 资讯 > 后端开发 > Python >Nacos框架与原理之Nacos的参数
  • 373
分享到

Nacos框架与原理之Nacos的参数

2024-04-02 19:04:59 373人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录1.命名空间1.1 命名空间用法1.2 注意事项2.分组名3.服务名4.保护阈值5.服务路由类型6.权重7.临时实例7.1 临时实例 VS 持久化实例7.2 实例类型设置7.3

前言:

Nacos 中的参数有很多,如:命名空间、分组名、服务名、保护阈值、服务路由类型、临时实例等,那这些参数都是什么意思?又该如何设置?接下来我们一起来盘它。

1.命名空间

在 Nacos 中通过命名空间(Namespace)+ 分组(Group)+服务名(Name)可以定位到一个唯一的服务实例。 

 命名空间(Namespace):Nacos 服务中最顶层、也是包含范围最广的概念,用于强制隔离类似环境或租户等场景。Nacos 的服务也需要使用命名空间来进行隔离 命名空间在 Nacos 控制台的一级目录里可以找到,如下图所示: 

 在服务列表中也能看到命名空间的身影,如下图所示: 

1.1 命名空间用法

命名空间默认为 public,在项目开发中,如果不指定命名空间,那么会使用默认值 public。官方推荐使用运行环境来定义命名空间,如生产版本可使用 public,开发版可定义为 private。 在项目开发中,可通过配置“spring.cloud.nacos.discovery.namespace”来定义命名空间,如下图所示: 

1.2 注意事项

命名空间在使用前,必须先在控制台新建命名空间,如下图所示: 

 如果在控制台没有新建命名空间,直接在项目中使用的话,是不能将服务成功的注册到 Nacos 中的,如下在项目中配置了一个未新建的 dev 命名空间,如下图所示: 

 然后启动项目,此时会发现,在 Nacos 控制台的服务列表中一直刷新不到任何服务实例,如下图所示: 

2.分组名

分组名(Group):Nacos 中次于命名空间的⼀种隔离概念,区别于命名空间的强制隔离属性,分组属于⼀个弱隔离概念,主要用于逻辑区分⼀些服务使用场景或不同应用的同名服务,最常用的情况主要是同⼀个服务的测试分组和生产分组、或者将应用名作为分组以防止不同应用提供的服务重名。 分组名在 Nacos 控制台的服务列表中可以看到,如下图所示: 

 分组名默认为 DEFAULT_GROUP,在项目中可通过“spring.cloud.nacos.discovery.group”来设置,如下图所示: 

 此项可省略,省略时的默认值为 DEFAULT_GROUP。 分组名可以直接在项目中使用,无需像命名空间那样,在使用前还要在控制台中新建,设定了分组名之后,刷新服务列表就可以看到新的分组名称了,如下图所示: 

3.服务名

服务名(Name):该服务实际的名字,⼀般用于描述该服务提供了某种功能或能力。 通常推荐使用由运行环境作为命名空间、应用名作为分组,服务功能作为服务名的组合来确保该服务的天然唯⼀性,当然使用者可以忽略命名空间和分组,仅使用服务名作为服务唯⼀标示,这就需要使用者在定义服务名时额外增加自己的规则来确保在使用中能够唯⼀定位到该服务而不会发现到错误的服务上。 服务名在项目中可以通过“spring.application.name”来指定,如下图所示: 

4.保护阈值

健康保护阈值(ProtectThreshold):为了防止因过多实例故障,导致所有流量全部流入剩余实例,继而造成流量压力将剩余实例被压垮形成雪崩效应。应将健康保护阈值定义为⼀个 0 到 1 之间的浮点数。当域名健康实例数占总服务实例数的比例小于该值时,无论实例是否健康,都会将这个实例返回给客户端。这样做虽然损失了⼀部分流量,但是保证了集群中剩余健康实例能正常工作 简单来说,保护阈值是一个 0-1 的浮点值,保护阈值是允许集群中健康实例占比的最小值,如果实际健康实例的占比小于或等于设置的保护阈值时,就会触发阈值保护,如下图所示,设置保护阈值为 0.75: 

 停掉唯一的健康实例,集群的健康实例占比降成了 0%,小于设置的保护阈值 0.75(75%),此时就会触发阈值保护,

如下图所示: 

5.服务路由类型

服务路由类型的设置如下图所示: 

 它是用来设置服务的路由策略的,默认值为 none。如果设置此值为 label(标签)模式,需要设置相应的标签表达式来匹配实例选择器(Selector),通过实例选择器可以完成自定义负载均衡策略,比如我们可以自定义实例选择器,实现就近访问的负载均衡策略,这样消费者在调用时,会优先调用离自己比较近的 IP 节点,从而实现更高效的服务调用。

6.权重

权重(Weight):实例的级别配置。权重为浮点数,范围为 0-10000。权重越大,分配给该实例的流量越大。 它是针对服务实例进行设置的,

如下图所示: 

7.临时实例

在 Nacos 中服务实例有两种(类型):持久化实例和临时实例(也叫非持久化实例)。当控制台中“临时实例”为 true 时,表示此服务为临时实例,

如下图所示: 

7.1 临时实例 VS 持久化实例

临时实例和持久化实例的区别主要有以下两点:

  • 临时实例在非健康状态下会被自动剔除,而持久化实例不会被自动剔除。
  • 临时实例的健康状况是 Nacos 客户端以固定频率(5s一次)上报给 Nacos 服务器端的,而持久化实例是 Nacos 服务器端主动探测的。

7.2 实例类型设置

在项目开发中,可以通过设置“spring.cloud.nacos.discovery.ephemeral”来指定服务的实例类型,默认为临时实例,也就是默认“spring.cloud.nacos.discovery.ephemeral=true”。如果要设置持久化实例,需要设置“spring.cloud.nacos.discovery.ephemeral”设置为 false,

如下图所示: 

7.3 注意事项

服务的实例类型一旦确定之后,整个生命周期内不允许被修改,如果试图修改实例类型会提示如下错误: 

总结

Nacos 中通过命名空间 + 分组名 + 服务名可以定位到一个唯一实例,通常推荐使用由运行环境作为命名空间、应用名作为分组,服务功能作为服务名的组合来定义服务。保护阈值是牺牲⼀部分流量,保证集群中剩余健康实例能正常工作的一种手段。服务路由类型和权重都是用来定义 Nacos 路由规则的,而临时实例和持久化实例是 Nacos 中的两种实例类型。

到此这篇关于Nacos框架与原理之Nacos的参数的文章就介绍到这了,更多相关Nacos的参数内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Nacos框架与原理之Nacos的参数

本文链接: https://lsjlt.com/news/148330.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Nacos框架与原理之Nacos的参数
    目录1.命名空间1.1 命名空间用法1.2 注意事项2.分组名3.服务名4.保护阈值5.服务路由类型6.权重7.临时实例7.1 临时实例 VS 持久化实例7.2 实例类型设置7.3 ...
    99+
    2024-04-02
  • Nacos Committer 张龙:Nacos Sync 的设计原理和规划
    与你同行,抬头便是星空。本文整理自Nacos Committer 张龙的现场分享,阿里巴巴中间件受权发布。随着 Nacos 1.0.0 稳定版的发布,越来越多的企业开始在测试/预演/生产环境中逐步部署 Nacos。目前,除了部分企业已处于转...
    99+
    2023-06-05
  • nacos使用占位符${}进行参数配置的方法
    nacos使用占位符${}进行参数配置的方法 有的时候,我们的nacos会出现一个配置文件里,有多个配置项对应的值都是一样的,这个时候nacos就可以用到占位符${}进行参数配置。 ...
    99+
    2022-12-26
    nacos占位符${}参数配置 nacos占位符${} Spring cloud alibaba Nacos配置中心多数据源
  • Gin框架之参数绑定的实现
    为了能够更方便的获取请求相关参数,提高开发效率,我们可以基于请求的Content-Type识别请求数据类型并利用反射机制自动提取请求中QueryString、form表单、JSON、...
    99+
    2024-04-02
  • hadoop之MapReduce框架原理是什么
    今天小编给大家分享一下hadoop之MapReduce框架原理是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。MapRe...
    99+
    2023-07-05
  • 【持久化框架】Mybatis简介与原理
    从这篇博文开始我们学习一下Mybatis,希望大家提出宝贵的建议。 什么是Mybatis        MyBatis 本是apache的一个开源...
    99+
    2024-04-02
  • MapReduce2框架的原理解析
    目录1 MapReduce2产生的原因1.1 在hadoop1.X的时代,MapReduce做了很多的事情,其核心是JobTracker。1.2 初探MapReduce1架构1.3M...
    99+
    2023-05-17
    MapReduce2框架原理 MapReduce2框架
  • Gin-Gonic 框架中间件原理与应用
    在 Go 的世界里, web 框架简直多如牛毛.前有自带电池的标准库(net/http), 后有简洁优雅的 Gin-Gonic(以下简称 Gin), 再有全栈开发一枝花 Beego, 等等不可胜数.使用 Go 有一段时间了, web 开发一...
    99+
    2024-04-02
  • Spring框架的原理是什么
    这篇文章主要讲解了“Spring框架的原理是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Spring框架的原理是什么”吧!简要介绍spring的原理,并结合一个简单的实例,如何配置使用...
    99+
    2023-06-03
  • Android Activity之间相互调用与传递参数的原理与用法分析
    本文实例讲述了Android Activity之间的相互调用与传递参数。分享给大家供大家参考,具体如下: Activity之间是如何调用的 在javaWeb程序中,jsp与js...
    99+
    2022-06-06
    调用 参数 activity Android
  • Golang基于泛化调用与Nacos实现Dubbo代理的方法是什么
    这篇“Golang基于泛化调用与Nacos实现Dubbo代理的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Gol...
    99+
    2023-07-05
  • SpringBoot2 参数管理实践之入参出参与校验的方式
    目录一、参数管理二、接收参数三、响应参数四、参数校验1、借鉴参考2、常用校验方式五、源代码地址一、参数管理 在编程系统中,为了能写出良好的代码,会根据是各种设计模式、原则、约束等去规...
    99+
    2024-04-02
  • koa框架的原理、功能,与基本使用方法概述 原创
    概述 Koa 是一个基于 Node.js 平台的 Web 开发框架,它的核心理念是中间件(middleware),通过一系列功能强大的中间件实现对 HTTP 请求的处理和响应,并让开...
    99+
    2023-05-17
    koa 框架 node.js
  • SpringBoot与SpringMVC中参数传递的原理解析
    目录一:普通参数与基本注解二:复杂参数一:普通参数与基本注解 HandlerMapping中找到能处理请求的Handler(Controller,method()) 为当前Handl...
    99+
    2024-04-02
  • oracle的启动与关闭原理-参数文件管理
    2.修改参数spfile和pfile文件里面的参数:ORCL.__db_cache_size=373293056ORCL.__java_pool_size=33554432ORCL.__large_pool...
    99+
    2024-04-02
  • React前端框架实现原理的理解
    目录vdomdsl 的编译渲染 vdom组件状态管理react 架构的演变fiber 架构总结vdom react 和 vue 都是基于 vdom 的前端框架,我们先聊下 vdom:...
    99+
    2024-04-02
  • MySQL 原理与优化之原数据锁的应用
    mysql 中原数据锁是系统自动控制添加的,对于用户来说无需显示调用,当我们使用一张表的时候就会加上原数据锁。 原数据锁的作用是为了保护表原数据的一致性,如果在表上有活动事务的时候,不可以对元数据进行写入操作。也就是为...
    99+
    2022-08-14
    MySQL 原理优化 MySQL原数据锁应用
  • Silverlight中导航框架与动态加载的原理是什么
    今天就跟大家聊聊有关Silverlight中导航框架与动态加载的原理是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1. Silverlight 3 的导航框架简介Silverl...
    99+
    2023-06-17
  • 解密CSS框架越权访问的原理与防范措施
    解密CSS框架越权访问的原理与防范措施 随着互联网的迅猛发展,网页设计逐渐成为一门重要的技术。为了提高效率和统一样式,很多开发者使用CSS框架来快速构建网页。然而,一些不法分子利用CSS框架的漏洞实施越权访问,造成严重的安全风险...
    99+
    2024-01-16
    防范措施 CSS框架 越权访问
  • 学习CSS的基本框架构建原理与实现方法
    随着互联网的快速发展,网页的设计越来越受到重视。而CSS作为网页设计的重要部分之一,其制作网页基本框架的原理和实现方法也就备受关注了。本文将通过具体代码示例讲解CSS制作网页基本框架的原理与实现方法。 一、HTML和CSS基本语...
    99+
    2024-01-16
    CSS 网页 基本框架
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作