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


    Nacos注册中心

    安装Nacos

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

    2. 解压

    3. 配置端口

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

    Nacos服务注册和发现

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

         2. 在服务中导入nacos依赖

         3. 修改配置文件application.yml

    Nacos服务多级存储模型

    配置服务的集群:

    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和Eureka对比

    nacos原理

    设置临时和非临时实例

    共同点

    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

    配置热更新

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

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

    多环境配置共享

    微服务从nacos读取配置文件

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

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

    Nacos集群搭建

    搭建集群基本步骤

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

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

    修改集群IP地址和端口号

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

         4. 启动nacos集群

         5. nginx反向代理

    下载nginx安装包

    找到conf目录

    修改conf/nginx.conf文件配置

    启动nginx

  • 相关阅读:
    【Redis】RedisTemplate最全的常用方法
    一文彻底熟练掌握并使用Java的NIO操作
    JVM指令手册
    vue2 - SuperMap3D添加S3M图层
    百文买鸡和水仙花数问题(C#解法)
    四、支付宝支付对接 - SDK开发、业务对接、支付回调、支付组件(2)
    网课答案公众号搭建-网课题库接口
    网络编程(一)
    实验18:模拟温度传感器实验
    ES6-promise
  • 原文地址:https://blog.csdn.net/weixin_43310500/article/details/132626498