Kevin's blog Kevin's blog
首页
  • AI基础
  • RAG技术
  • 提示词工程
  • Wireshark抓包
  • 常见问题
  • 数据库
  • 代码技巧
  • 浏览器
  • 手册教程
  • 技术应用
  • 流程规范
  • github技巧
  • git笔记
  • vpn笔记
  • 知识概念
  • 学习笔记
  • 环境搭建
  • linux&运维
  • 微服务
  • 经验技巧
  • 实用手册
  • arthas常用
  • spring应用
  • javaAgent技术
  • 网站
友情链接
  • 分类
  • 标签
  • 归档

Kevin

你可以迷茫,但不可以虚度
首页
  • AI基础
  • RAG技术
  • 提示词工程
  • Wireshark抓包
  • 常见问题
  • 数据库
  • 代码技巧
  • 浏览器
  • 手册教程
  • 技术应用
  • 流程规范
  • github技巧
  • git笔记
  • vpn笔记
  • 知识概念
  • 学习笔记
  • 环境搭建
  • linux&运维
  • 微服务
  • 经验技巧
  • 实用手册
  • arthas常用
  • spring应用
  • javaAgent技术
  • 网站
友情链接
  • 分类
  • 标签
  • 归档
  • 微服务架构筑基础
  • Feign支持BasicAuth验证
  • Feign与OpenFeign
  • Feign请求压缩与超时等配置
  • OAUTH2.0协议
  • SpringS
  • 分布式配置中心-apollo

  • alibaba-nacos

    • nacos介绍与单机部署
    • nacos集群部署方式(linux)
    • nacos服务注册与发现
    • nacos注册中心详解
      • 一、查看服务列表
      • 二、集群的划分
      • 三、微服务group分组
      • 四、健康保护阈值
      • 附录:nacos-discovery客户端配置项
    • nacos客户端配置加载
    • nacos客户端配置刷新
    • nacos服务配置隔离与共享
    • nacos配置Beta发布
  • 微服务
  • alibaba-nacos
kevin
2022-06-10
目录

nacos注册中心详解

# 一、查看服务列表

img 首先从最简单的信息开始看起:服务列表中aservice-rbac启动了一个实例,aservice-sms启动两个实例。并且所有实例都通过了nacos服务注册中心的健康检查。点击“详情”可以查看服务状态,以及服务所有启动实例的状态。

img

# 二、集群的划分

某些大型企业,为了满足异地容灾的需要,通常将应用部署在不同的机房。不同机房的服务器组通常被称为一个“集群”。但是nacos的集群与我们之前学过的apollo有所不同:

  • apollo的集群信息是需要我们手动添加的,一个微服务在A集群使用一套配置,在B集群使用另一套配置。
  • 而nacos集群理论上指的是nacos server所组成的集群。通过Nacos-Sync (opens new window)将服务信息双向同步。

img 对于注册在nacos server(集群A)上面的微服务实例,就是集群A的实例。同理,注册在nacos server (集群B)上面的微服务实例就是集群B的实例。所以nacos的“集群”信息是不需要我们手动添加的,微服务注册在哪个集群的nacos上,它逻辑上就属于那个集群。

我们实验的实例之注册在一组nacos server上,所以我们所有的实例都是1个集群。

# 三、微服务group分组

nacos的微服务分组概念,有两层含义:

  • 不同分组的微服务,彼此之间不能发现对方,也就不能进行远程服务调用。所以一个公司内部根据项目的逻辑独立性进行分组是最好的,不存在彼此的服务调用一组项目成为一个group。
  • 将微服务分组,方便我们查看,以及方便我们后面章节会为大家介绍的配置管理分类。

img 可以通过如下属性对微服务分组进行配置。

spring.cloud.nacos.discovery.group=
1

# 四、健康保护阈值

  • 设置健康保护阈值的目的:为了防止过多微服务实例挂掉之后,导致流量全部流向健康实例 ,继而造成流量压力把健康实例也压垮,并形成雪崩效应,导致整个集群服务崩溃。
  • 健康保护阈值是一个 0 到 1 之间的浮点数。当健康实例占总服务实例的比例小于该值时,无论被请求的实例是否健康,都会将这个实例返回给客户端。这样做虽然导致一部分请求失败,但是保证了集群的剩余的健康实例能一定程度上维持系统的整体服务。

# 附录:nacos-discovery客户端配置项

配置项 Key 默认值 说明
服务端地址 spring.cloud.nacos.discovery.server-addr 无 Nacos Server 启动监听的ip地址和端口
服务名 spring.cloud.nacos.discovery.service ${spring.application.name (opens new window)} 给当前的服务命名
服务分组 spring.cloud.nacos.discovery.group DEFAULT_GROUP 设置服务所处的分组
权重 spring.cloud.nacos.discovery.weight 1 取值范围1到100,数值越大,权重越大
网卡名 spring.cloud.nacos.discovery.network-interface 无 当IP未配置时,注册的IP为此网卡所对应的IP地址,如果此项也未配置,则默认取第一块网卡的地址
注册的IP地址 spring.cloud.nacos.discovery.ip 无 优先级最高
注册的端口 spring.cloud.nacos.discovery.port -1 默认情况下不用配置,会自动探测
命名空间 spring.cloud.nacos.discovery.namespace 无 常用场景之一是不同环境的注册的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。
AccessKey spring.cloud.nacos.discovery.access-key 无 当要上阿里云时,阿里云上面的一个云账号名
SecretKey spring.cloud.nacos.discovery.secret-key 无 当要上阿里云时,阿里云上面的一个云账号密码
Metadata spring.cloud.nacos.discovery.metadata 无 使用Map格式配置,用户可以根据自己的需要自定义一些和服务相关的元数据信息
日志文件名 spring.cloud.nacos.discovery.log-name 无
接入点 spring.cloud.nacos.discovery.enpoint UTF-8 地域的某个服务的入口域名,通过此域名可以动态地拿到服务端地址
是否集成Ribbon ribbon.nacos.enabled true 一般都设置成true即可
是否开启NacosWatch spring.cloud.nacos.discovery.watch.enabled true 可以设置成false来关闭watch
上次更新: 2022/06/13, 18:30:58
nacos服务注册与发现
nacos客户端配置加载

← nacos服务注册与发现 nacos客户端配置加载→

最近更新
01
AI是如何学习的
10-30
02
提示词工程实践指南
10-30
03
chatGpt提示原则
10-30
更多文章>
| Copyright © 2022-2025 Kevin | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式