简述Nacos注册中心和Nacos配置管理

Nacos注册中心

安装Nacos

  1.  下载安装包  https://nacos.io/

  2. 解压

  3. 配置端口

  4. 启动 startup.cmd -m standalone(windows) startup.sh -m standalone(Mac)

Nacos服务注册和发现

     1. 父工程中导入管理依赖

简述Nacos注册中心和Nacos配置管理_第1张图片

     2. 在服务中导入nacos依赖

     3. 修改配置文件application.yml

简述Nacos注册中心和Nacos配置管理_第2张图片

Nacos服务多级存储模型

配置服务的集群:

简述Nacos注册中心和Nacos配置管理_第3张图片

Nacos NacosRule负载均衡

设置负载均衡的IRule为NacosRule

  1. 优先选择同集群实例列表
  2. 本地集群找不到提供者,才去其他集群寻找,并且会提示警告
  3. 确定了可用例列表后,采用随机负载均衡挑选实例

Nacos服务实例的权重设置

  1. Nacos控制台可以设置实例的权重值,0~1之间
  2. 同集群多个实例,权重越高被访问频率越高
  3. 权重设置为0则完成不会被访问

Nacos环境隔离

  1. namespace用来做环境隔离
  2. 每个namespace都有唯一ID
  3. 不同namespace下的服务不可见
配置namespace
  1. 在nacos页面创建新的命名空间
  2. 修改配置文件application.yml的命名空间

简述Nacos注册中心和Nacos配置管理_第4张图片

Nacos和Eureka对比

nacos原理

简述Nacos注册中心和Nacos配置管理_第5张图片

设置临时和非临时实例

简述Nacos注册中心和Nacos配置管理_第6张图片

共同点

  1. 都支持服务注册和服务拉取
  2. 都支持服务提供者心跳方式做健康检测

区别

  1. nacos支持服务端主动检测提供者状态,临时实例采用心跳模式,非临时实例采用主动检测模式
  2. 临时实例心跳不正常会被剔除,非临时实例则不会被剔除
  3. nacos支持服务列表变更的消息推送模式,服务列表更新更及时
  4. nacos集群默认采用AP方式(可用性),当集群中存在非临时实例时,采用CP方式(数据可靠性和一致性);Eureka采用AP方式

Nacos配置管理

Nacos实现配置管理

  1. nacos的配置列表中新建配置
  2. 填写配置文件ID,分组,配置文件格式,配置文件内容(热更新的内容)

微服务配置拉取

     1. 在application.yml中引入nacos配置的依赖

     2. 在服务的resource目录添加一个bootstrap.yml文件,这个文件是引导文件,优先级高于application.yml

简述Nacos注册中心和Nacos配置管理_第7张图片

配置热更新

  1. 通过@value注解注入,结合@RefreshScope来刷新
  2. 通过@Configuration Properties注入,自动刷新

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

多环境配置共享

微服务从nacos读取配置文件

  1. 服务名- spring.profile.active.yaml环境配置
  2. 服务名.yaml默认配置,多环境共享

优先级:服务名-环境.yaml > 服务名.yaml > 本地配置

Nacos集群搭建

简述Nacos注册中心和Nacos配置管理_第8张图片

搭建集群基本步骤

  1. 搭建数据库,初始化数据库表结构
  2. 下载nacos安装包
  3. 配置nacos

进入nacos文件conf目录,修改配置文件cluster.conf.example,重命名为cluster.conf

简述Nacos注册中心和Nacos配置管理_第9张图片

修改集群IP地址和端口号

修改application.properties文件,添加数据库配置信息

简述Nacos注册中心和Nacos配置管理_第10张图片

     4. 启动nacos集群

     5. nginx反向代理

下载nginx安装包

找到conf目录

修改conf/nginx.conf文件配置

简述Nacos注册中心和Nacos配置管理_第11张图片

启动nginx

你可能感兴趣的:(SpringCloud微服务,java,spring,cloud)