Nacos注册中心

1.Nacos下载

下载地址:Releases · alibaba/nacos · GitHub

2.Nacos服务注册或发现

(1)引入nacos-discovery依赖

(2)配置nacos地址spring.cloud.nacos.server-addr

3.Nacos服务分级模型

(1)Nacos服务分级存储模型

  1. 一级是服务
  2. 二级是集群
  3. 三级是实例

(2)设置实例的集群属性

  • 修改application.yml文件,添加spring.cloud.nacos.discovery.cluster-name属性 

4. NacosRule负载均衡策略

(1)优先选择同集群服务实例列表

(2)本地集群找不到提供者,才去其他集群寻找,并且会报警告

(3)确定了可用实例列表后,再采用随机负载均衡挑选实例

5. 加权负载均衡

(1)Nacos控制台可以设置实例的权重值,0-1之间

(2)同集群内的多个实例,权重越高被访问的频率越高

(3)权重设置为0则完全不会被访问

6. Nacos环境隔离

(1)namespace用来做环境隔离

(2)每个namespace都由唯一id

(3)不同namespace下的服务不可见

7. Nacos与Eureka的共同点

(1)都支持服务注册和服务拉取

(2)都支持服务提供者心跳方式做健康检测

8. Nacos与Eureka的区别

(1)Nacos支持服务端主动检测提供者状态,临时实例采用心跳模式,非临时实例采用主动检测模式

(2)临时实例心跳不正常会被剔除,非临时实例则不会被剔除

(3)Nacos支持服务列表变更的消息推拉模式,服务列表更新更及时

(4)Nacos集群默认采用AP方式,当集群中存在非临时实例时,采用CP模式,Eureka采用AP方式

9. Nacos配置管理

(1)将配置交给Nacos管理的步骤

  1. 在Nacos中添加配置文件
  2. 在微服务中引入nacos的config依赖
  3. 在微服务中添加bootstrap.yml,配置nacos地址、当前环境、服务名称、文件后缀名,这些决定了程序启动时去nacos读取那个文件 

(2)配置热更新 

  • 通过@Value注解注入,结合@RefreshScope来刷新
  • 通过@ConfigurationProperties注入,自动刷新

注意事项:

  • 不是所有的配置都适合放到配置中心,维护起来比较麻烦
  • 建议将一些关键参数,需要运行时调整的参数放到nacos配置中心,一般都是自定义配置

(3)多环境配置共享

  • [服务名]-[spring.profile.active].yaml,环境配置
  • [服务名].yaml,默认配置,多环境共享
  • 优先级:[服务名]-[环境].yaml > [服务名].yaml > 本地配置

(4)Nacos集群搭建 

  1. 搭建MySQL集群并初始化数据库表
  2. 修改集群配置(节点信息),数据库配置
  3. 分别启动多个Nacos实例
  4. Nginx反向代理 

你可能感兴趣的:(微服务,nacos,微服务)