## 一、查看服务列表

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

## 二、集群的划分
某些大型企业,为了满足异地容灾的需要,通常将应用部署在不同的机房。不同机房的服务器组通常被称为一个“集群”。但是nacos的集群与我们之前学过的apollo有所不同:
* apollo的集群信息是需要我们手动添加的,一个微服务在A集群使用一套配置,在B集群使用另一套配置。
* 而nacos集群理论上指的是nacos server所组成的集群。通过[Nacos-Sync](https://github.com/nacos-group/nacos-sync)将服务信息双向同步。

对于注册在nacos server(集群A)上面的微服务实例,就是集群A的实例。同理,注册在nacos server (集群B)上面的微服务实例就是集群B的实例。所以nacos的“集群”信息是不需要我们手动添加的,微服务注册在哪个集群的nacos上,它逻辑上就属于那个集群。
> 我们实验的实例之注册在一组nacos server上,所以我们所有的实例都是1个集群。
## 三、微服务group分组
nacos的微服务分组概念,有两层含义:
* 不同分组的微服务,彼此之间不能发现对方,也就不能进行远程服务调用。所以一个公司内部根据项目的逻辑独立性进行分组是最好的,不存在彼此的服务调用一组项目成为一个group。
* 将微服务分组,方便我们查看,以及方便我们后面章节会为大家介绍的配置管理分类。

可以通过如下属性对微服务分组进行配置。
~~~
spring.cloud.nacos.discovery.group=
~~~
## 四、健康保护阈值
* 设置健康保护阈值的目的:为了防止过多微服务实例挂掉之后,导致流量全部流向健康实例 ,继而造成流量压力把健康实例也压垮,并形成雪崩效应,导致整个集群服务崩溃。
* 健康保护阈值是一个 0 到 1 之间的浮点数。当健康实例占总服务实例的比例小于该值时,无论被请求的实例是否健康,都会将这个实例返回给客户端。这样做虽然导致一部分请求失败,但是保证了集群的剩余的健康实例能一定程度上维持系统的整体服务。
> 这就好像一些公司的人力分配,有些员工能力就是不行,领导也知道你不行,但是领导还是让他去领衔做一部分工作。因为这部分工作得有人做,不能所有工作全交给“原本行”的人去做,就把"原本行"的人压垮了。导致整个公司所有业务瘫痪。
## 附录:nacos-discovery客户端配置项
| 配置项 | Key | 默认值 | 说明 |
| --- | --- | --- | --- |
| 服务端地址 | spring.cloud.nacos.discovery.server-addr | `无` | Nacos Server 启动监听的ip地址和端口 |
| 服务名 | spring.cloud.nacos.discovery.service | ${[spring.application.name](http://spring.application.name/)} | 给当前的服务命名 |
| 服务分组 | 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 |
- 文档简介
- 模块与代码分支说明
- dongbb-cloud项目核心架构
- 微服务架构进化论
- SpringBoot与Cloud选型兼容
- Spring Cloud组件的选型
- 单体应用拆分微服务
- 单体应用与微服务对比
- 微服务设计拆分原则
- 新建父工程及子模块框架
- 通用微服务初始化模块构建
- 持久层模块单独拆分
- 拆分rbac权限管理微服务
- Hello-microservice
- 构建eureka服务注册中心
- 向服务注册中心注册服务
- 第一个微服务调用
- 远程服务调用
- HttpClient远程服务调用
- RestTemplate远程服务调用
- RestTemplate多实例负载均衡
- Ribbon调用流程源码解析
- Ribbon负载均衡策略源码解析
- Ribbon重试机制与饥饿加载
- Ribbon自定义负载均衡策略
- Feign与OpenFeign
- Feign设计原理源码解析
- Feign请求压缩与超时等配置
- 服务注册与发现
- 白话服务注册与发现
- DiscoveryClient服务发现
- Eureka集群环境构建(linux)
- Eureka集群多网卡环境ip设置
- Eureka集群服务注册与安全认证
- Eureka自我保护与健康检查
- 主流服务注册中心对比(含nacos)
- zookeeper概念及功能简介
- zookeeper-linux集群安装
- zookeeper服务注册与发现
- consul概念及功能介绍
- consul-linux集群安装
- consul服务注册与发现
- 通用-auatator导致401问题
- 分布式配置中心-apollo
- 服务配置中心概念及使用场景
- apollo概念功能简介
- apollo架构详解
- apollo分布式部署之Portal
- apollo分布式部署之环境区分
- apollo项目权限管理实战
- apollo-java客户端基础
- apollo与SpringCloud服务集成
- apollo实例配置热更新
- apollo命名空间与集群
- apollo灰度发布(日志热更新为例)
- SpringCloudConfig配置中心
- config-git配置文件仓库
- config配置中心搭建与测试
- config客户端基础
- config配置安全认证
- config客户端配置刷新
- config配置中心高可用
- BUS消息总线
- bus消息总线简介
- docker安装rabbitMQ
- 基于rabbitMQ的消息总线
- bus实现批量配置刷新
- alibaba-nacos
- nacos介绍与单机部署
- nacos集群部署方式(linux)
- nacos服务注册与发现
- nacos服务注册中心详解
- nacos客户端配置加载
- nacos客户端配置刷新
- nacos服务配置隔离与共享
- nacos配置Beta发布
- 服务熔断降级hystrix
- 服务降级&熔断&限流
- Hystrix集成并实现服务熔断
- Jemter模拟触发服务熔断
- Hystrix服务降级fallback
- Hystrix结合Feign服务降级
- 远程服务调用异常传递的问题
- Hystrix-Feign异常拦截与处理
- Hystrix-DashBoard单服务监控
- Hystrix-dashboard集群监控
- 分布式系统流量卫兵sentinel
- sentinel简介与安装
- 客户端集成与实时监控
- 实战流控规则-QPS限流
- 实战流控规则-线程数限流
- 实战流控规则-关联限流
- 实战流控规则-链路限流
- 实战流控效果-WarmUp
- 实战流控效果-匀速排队
- BlockException处理
- 实战熔断降级-RT
- 实战熔断降级-异常数与比例
- DegradeException处理
- 注解与异常的归纳总结
- Feign降级及异常传递拦截
- 动态规则nacos集中存储
- 热点参数限流
- 系统自适应限流
- 微服务网关-GateWay
- 还有必要学习Zuul么?
- 简介与非阻塞异步IO模型
- GateWay概念与流程
- 新建一个GateWay项目
- 通用Predicate的使用
- 自定义PredicateFactory
- 编码方式构建静态路由
- Filter过滤器介绍与使用
- 自定义过滤器Filter
- 网关请求转发负载均衡
- 结合nacos实现动态路由配置
- 整合Sentinel实现资源限流
- 跨域访问配置
- 网关层面全局异常处理
- 微服务网关安全认证-JWT篇
- Gateway-JWT认证鉴权流程
- 登录认证JWT令牌颁发
- 全局过滤器实现JWT鉴权
- 微服务自身内部的权限管理
