1.Nacos

Nacos 学习

理论知识

  1. 基本概念

    Nacos 支持基于 DNS 和基于 RPC 的服务发现。服务提供者使用 原生SDKOpenAPI、或一个独立的Agent TODO注册 Service 后,服务消费者可以使用DNS TODOHTTP&API查找和发现服务。

    Nacos 提供对服务的实时的健康检查,阻止向不健康的主机或服务实例发送请求。Nacos 支持传输层 (PING 或 TCP)和应用层 (如 HTTP、MySQL、用户自定义)的健康检查。 对于复杂的云环境和网络拓扑环境中(如 VPC、边缘网络等)服务的健康检查,Nacos 提供了 agent 上报模式和服务端主动检测2种健康检查模式。Nacos 还提供了统一的健康检查仪表盘,帮助您根据健康状态管理服务的可用性及流量。

  2. Nacos 的关键特性包括:

    1. 服务发现和服务健康监测
    2. 动态配置服务
    3. 动态 DNS 服务
    4. 服务及其元数据管理

Nacos服务学习步骤

启动Nacos 服务,修改配置文件

Nacos 启动有多种模式 有单体模式,集群模式
Linux/Unix/Mac
启动命令(standalone代表着单机模式运行,非集群模式):

sh startup.sh -m standalone

如果您使用的是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行:

bash startup.sh -m standalone

Windows
启动命令(standalone代表着单机模式运行,非集群模式):

startup.cmd -m standalone

http://localhost:8848/nacos
官网地址
https://nacos.io/zh-cn/docs/quick-start.html

在springBoot 项目中引入如下的依赖

#通过 Nacos Server 和 spring-cloud-starter-alibaba-nacos-discovery 实现服务的注册与发现。
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    <version>${latest.version}</version>
</dependency>
<!-- SpringBoot Actuator -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

#通过 Nacos Server 和 spring-cloud-starter-alibaba-nacos-config 实现配置的动态变更。	
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    <version>${latest.version}</version>
</dependency>


服务注册与服务发现的基本原理

  1. 服务发现主要是对springBoot 项目中增加上面相应的注解,然后通过特定的Http地址让Nacos 和服务能相互通信,通过json 返回信息,里面包含着服务的基本信息 这些基本信息就成为了注册到Nacos 上的信息

动态配置服务(分布式配置中心)基本原理

  1. 还是通过加入依赖使服务支持Nacos-Config的依赖 主要是对服务进行命名 例如配置如下 在此之前需要先普及一下配置文件加载的优先级(由高到低)所以我们需要将一些静态的配置放到bootstrap.yml 文件中
    bootstrap.properties ->bootstrap.yml -> application.properties -> application.yml

  2. # Spring
    spring: 
      application:
        # 应用名称 
        name: ruoyi-xxxx
      profiles:
        # 环境配置
        active: dev
      cloud:
        nacos:
          config:
            # 配置中心地址
            server-addr: 127.0.0.1:8848
            # 配置文件格式 可以暂时忽略
            file-extension: yml
            # 共享配置 可以暂时忽略
            shared-configs:
              - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
    
    
  3. 首先定义了服务的名称这样 在Nacos 中我们的服务在注册的时候就有了唯一的名称 后期我们在做调用的时候也可以直接用服务名称进行调用,Nacos 上创建相应的配置文件

  4. config

  5. 在Nacos Spring Cloud 中,数据集(Data Id) 的配置完整格式如下:
    ${spring.cloud.nacos.config.prefix}-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}通俗一点就是前缀-环境-扩展名,需要注意的是要指定文件的类型否则就会为*.roperties 格式,配置的DataId 就是的server

    ${spring.cloud.nacos.config.prefix}=spring.application.name 所以我们的配置文件名称应该为 ruoyi-xxx-dev.xml

  6. @RefreshScope
    这个参数可以动态的修改配置文件里面的配置参数而且不用重复部署服务
    

多环境下的配置中心

  1. 在引入spring-cloud-starter-alibaba-nacos-config 后 Nacos 支持像SpringBoot 的profiles 这样的 参数
    我们只需要在nacos 里面配置相应的配置文件 例如
    application-dev.yml
    application-prod.yml
    application-test.yml

    以上三种不同的配置环境 然后在boostrap.yml 使用spring.profiles.active :prod 指定了引用application-prod.yml

tion-prod.yml
application-test.yml

以上三种不同的配置环境 然后在boostrap.yml 使用spring.profiles.active :prod 指定了引用application-prod.yml

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值