微服务之Nacos服务注册中心及统一配置管理

目录

前言

1.  Nacos注册中心

1.1  引入依赖

1.2  客户端配置

1.3.  Nacos服务分级存储模型

 1.4  配置集群​

 1.5  根据集群负载均衡NacosRule

 1.6  服务实例的权重

1.7  环境隔离namespace

1.8  Nacos注册中心细节分析(与eureka的不同)

1.9  临时实例与非临时实例区别

2.  nacos统一配置管理

2.1  nacos实现配置管理

2.2  统一配置管理

 2.3  配置自动刷新

 2.4  多环境共享配置


前言

1.  Nacos注册中心

1.1  引入依赖

   <!-- 父工程依赖:spring-cloud-alibaba主版本管理  -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-alibaba-dependencies</artifactId>
            <version>2.2.6.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>        
    <!-- nacos客户端依赖 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

1.2  客户端配置

server:
  port: 8095
spring:
  datasource:
    url: jdbc:mysql://127.0.0.1/db-test?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8
    username: root
    password: root
  application:
    name: user-service #user服务的服务名称
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848  #nacos服务地址

1.3.  Nacos服务分级存储模型

服务调用尽可能选择本地集群的服务,跨集群调用延迟较高

本地集群不可访问时,才去访问其他集群

 1.4  配置集群

 1.5  根据集群负载均衡NacosRule

 1.6  服务实例的权重

Nacos提供权重配置来控制访问频率,权重越大则访问频率越高

将权重设为0,可达到用户无感知服务升级;

1.7  环境隔离namespace

nacos控制台: http://localhost:8848/nacos

在nacos控制台上新建命名空间namespace获得唯一id,再配置到代码中;

不同namespace下的服务不可见

1.8  Nacos注册中心细节分析(与eureka的不同)

1、nacos与eureka的共同点

        都支持服务注册和服务拉取

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

2、nacos与eureka的区别

        nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模式;临时实例心跳不正常会被剔除,非临时实例不会; 

        nacos支持服务列表变更的消息推送模式,服务列表更新更及时;

        nacos集群默认采用AP方式,当集群存在非临时实例时,采用CP模式;eureka采用AP方式;

1.9  临时实例与非临时实例区别

根据上上图可以看出:

临时实例宕机时,会从nacos的服务列表中删除,而非临时实例不会,且nacos会主动询问非临时实例是否存活;

2.  nacos统一配置管理

2.1  nacos实现配置管理

​​在nacos控制台中,新建配置:

Data ID:我们本地的配置文件都叫application.yml,如果nacos中都叫这个则不利于维护;所以data-id的命名规则为:服务名-环境.yaml;

2.2  统一配置管理

 项目启动时,我们需要去哪里读取哪个环境的配置文件;所以需要在bootstrap.xml中指定;

 2.3  配置自动刷新

 nacos配置更改后,微服务可以实现热更新方式:

1、通过@Value注解注入,结合@RefreshScope来刷新

2、通过@ConfigurationProperties注入,自动刷新

注意事项:

不是所有的配置都适合放到配置中心,维护起来比较麻烦

 2.4  多环境共享配置

 多种配置的优先级:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值