Nacos服务注册与发现、配置中心使用教程。

目录

一、Nacos简介

1.1、nacos四大功能

1.1.1、服务发现和服务健康监测(使服务更容易注册,并通过DNS或HTTP接口发现其他服务,还提供服务的实时健康检查,以防止向不健康的主机或服务实例发送请求。)

1.1.2、动态配置服务

1.1.3、动态 DNS 服务

1.1.4、服务及其元数据管理

二、Nacos搭建教程

三、Nacos作为注册中心 

1、引入pom.xml依赖

2、编写yml配置文件 

3、启动类上添加注解(高版本Nacos可以省略)

四、Nacos作为配置中心  

1、添加依赖

2、在Nacos上配置文件,使用代码读取。

2.1、Nacos作为配置中心的简单使用

2.2、其他配置及其配置属性介绍

五、使用Tips

1、Nacos中NameSpace、Group、DataId的最佳实践

2、配置文件优先级


一、Nacos简介

阿里的一个开源产品,是针对微服务架构中的服务发现、配置管理、服务治理的综合型解决方案。(用来实现配置中心和服务注册中心)

1.1、nacos四大功能

1.1.1、服务发现和服务健康监测(使服务更容易注册,并通过DNS或HTTP接口发现其他服务,还提供服务的实时健康检查,以防止向不健康的主机或服务实例发送请求。)

  • 支持基于DNS和基于RPC的服务发现。服务提供者使用原生SDK、OpenAPI、或一个独立的Agent TODO注册 Service 后,服务消费者可以使用DNS TODO 或HTTP&API查找和发现服务。
  • Nacos提供对服务的实时的健康检查,阻止向不健康的主机或服务实例发送请求。Nacos 支持传输层 (PING 或 TCP)和应用层 (如 HTTP、MySQL、用户自定义)的健康检查。 对于复杂的云环境和网络拓扑环境中(如 VPC、边缘网络等)服务的健康检查,Nacos 提供了 agent 上报模式和服务端主动检测2种健康检查模式。Nacos 还提供了统一的健康检查仪表盘,帮助您根据健康状态管理服务的可用性及流量。

1.1.2、动态配置服务

  • 以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置。
  • 消除了配置变更时重新部署应用和服务的需要,让配置管理变得更加高效和敏捷。
  • 配置中心化管理让实现无状态服务变得更简单,让服务按需弹性扩展变得更容易。
  • 提供了一个简洁易用的UI (控制台样例 Demo) 帮助管理所有的服务和应用的配置。
  • Nacos 还提供包括配置版本跟踪、金丝雀发布、一键回滚配置以及客户端配置更新状态跟踪在内的一系列开箱即用的配置管理特性,能更安全地在生产环境中管理配置变更和降低配置变更带来的风险。

1.1.3、动态 DNS 服务

  • 动态 DNS 服务支持权重路由,更容易地实现中间层负载均衡、更灵活的路由策略、流量控制以及数据中心内网的简单DNS解析服务。动态DNS服务还能更容易地实现以 DNS 协议为基础的服务发现,消除耦合到厂商私有服务发现 API 上的风险。
  • Nacos 提供了一些简单的 DNS APIs TODO ,管理服务的关联域名和可用的 IP:PORT 列表

1.1.4、服务及其元数据管理

  • 从微服务平台建设的视角管理数据中心的所有服务及元数据,包括管理服务的描述、生命周期、服务的静态依赖分析、服务的健康状态、服务的流量管理、路由及安全策略、服务的 SLA 以及最首要的 metrics 统计数据。

二、Nacos搭建教程

 教程地址:Linux/Mac 部署Nacos(单机/高可用模式)_爱学习的zhangzhang的博客-CSDN博客

三、Nacos作为注册中心 

1、引入pom.xml依赖

        <!-- spring cloud alibaba nacos discovery 服务注册依赖 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

2、编写yml配置文件 

spring:
  cloud:
    nacos:
      discovery:
        enabled: true # 如果不想使用 Nacos 进行服务注册和发现, 设置为 false 即可
        server-addr: 127.0.0.1:8848
        namespace: cbfe7aa0-a47c-4c42-80bc-3c0f9880413a

3、启动类上添加注解(高版本Nacos可以省略)

@EnableDiscoveryClient
@SpringBootApplication
public class AuthorityCenterApplication {

    public static void main(String[] args) {

        SpringApplication.run(AuthorityCenterApplication.class, args);
    }
}

四、Nacos作为配置中心  

1、添加依赖

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>

2、在Nacos上配置文件,使用代码读取。

2.1、Nacos作为配置中心的简单使用

默认配置:当配置文件名称为项目application name时,代码会自动拉取。

spring:
  application:
    name: demo
  cloud:
    nacos:
     server-addr: 127.0.0.1:8848
     username: nacos
     password: nacos
     discovery: #服务注册与发现中心
       namespace: 96d3abb7-d522-4001-8ff4-750ef598fc22
     config: #配置中心
       namespace: 96d3abb7-d522-4001-8ff4-750ef598fc22

2.2、其他配置及其配置属性介绍

1、refresh-enabled属性:用来开启、关闭动态刷新(值为false后nacos客户端无法感知配置的变化)

       refresh-enabled: false #用来开启、关闭动态刷新

2、profile属性:在配置中心可以使用profile进行设置即 dataId=服务名称-项目启动环境.文件格式后缀  即   dataId=${spring.application.name}-${profile}.${file-extension:properties}        

3、file-extension属性:nacos客户端默认拉取的是properties格式的配置文件,其他文件格式需要在项目配置文件中指定,只针对默认的配置文件和profile。

       file-extension: yaml #指定文件格式

4、shared-configs属性:可以共享配置文件,编写多个配置文件,配置在此属性里面。data-id表示配置文件名称, refresh表示是否动态刷新,group表示分组名称默认为DEFAULT_GROUP

       shared-configs:
         - data-id: demo01.yaml
           refresh: true
           group: DEFAULT_GROUP
         - data-id: demo02.yaml
           refresh: true
           group: DEFAULT_GROUP

4、 extension-configs属性:可以共享配置文件,编写多个配置文件,配置在此属性里面。data-id表示配置文件名称, refresh表示是否动态刷新,group表示分组名称默认为DEFAULT_GROUP

       extension-configs:
         - data-id: demo01.yaml
           refresh: true
           group: DEFAULT_GROUP
         - data-id: demo02.yaml
           refresh: true
           group: DEFAULT_GROUP

五、使用Tips

1、Nacos中NameSpace、Group、DataId的最佳实践

        NameSpace:代表不同环境,如开发,测试,生产环境。

        Group:代表项目,如医疗项目、保险项目、电商项目。

        DataId:每个项目下往往有若干个微服务,每个配置集(DataId)是一个微服务的主配置文件。 

2、配置文件优先级

        优先级大的会覆盖优先级小的,并且形成互补

        profile>默认配置文件>extension-configs(下标越大优先级越大)>shared-configs(下标越大优先级越大)

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要安装、配置和部署Nacos,可以按照以下步骤进行操作: 1. 下载Nacos压缩包,并解压缩:你可以从Nacos的官方网站或者GitHub仓库下载Nacos的压缩包。解压缩后,你会得到一个包含Nacos运行所需文件的目录。 2. 启动Nacos:在解压缩后的Nacos目录中,使用命令行进入bin目录,并输入以下命令启动Nacos: ``` sh startup.sh -m standalone ``` 这将以单机模式启动Nacos。 3. 访问Nacos控制台:启动成功后,可以在浏览器中访问`http://localhost:8848/nacos`来进入Nacos的控制台。 4. 创建命名空间:在Nacos控制台中,可以通过点击左侧导航栏的“命名空间”来创建命名空间。命名空间可以用于隔离配置和服务。 5. 导入配置:在创建命名空间后,可以点击左侧导航栏的“配置管理”来导入配置。你可以选择导入配置文件或者手动添加配置。 6. 部署服务:要将服务注册Nacos,你需要在你的项目中添加Nacos的客户端依赖。在你的项目的`pom.xml`中,添加如下依赖: ```xml <!-- nacos客户端依赖包 --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> ``` 添加依赖后,你可以使用Nacos提供的注解或者配置来注册发现服务。 这些步骤可以帮助你安装、配置和部署Nacos。如果你需要更详细的教程,可以参考Nacos官方文档中的安装和配置部分。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [使用nacos配置教程](https://download.csdn.net/download/weixin_38569515/14037188)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Nacos安装指南](https://blog.csdn.net/weixin_45417754/article/details/130057355)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值