Spring Cloud Alibaba Nacos注册中心入门

1. 简介

Nacos,全称为“Dynamic Naming and Configuration Service”,是阿里巴巴开源的一款集成了服务注册与发现、动态配置服务、健康检查等功能的中间件。当引入SpringCloud Alibaba Nacos后,微服务应用能够实现服务的自动注册与发现,并能通过集中式配置管理实现配置的统一、动态更新。本次主要是对SpringCloud Nacos注册中心的入门学习,话不多说,接着往下看吧!

2. Nacos核心功能

  1. 服务发现:Nacos作为服务注册中心,支持服务的实时注册与订阅,使得服务消费者能够快速找到并连接到服务提供者。它具备健康检查机制,确保只有健康的实例才会被调用。
  2. 配置管理:Nacos提供了一个简洁易用的界面用于管理所有服务的配置信息,支持属性值的实时推送以及版本控制,开发者可以在不重启服务的情况下完成配置的变更与生效。
  3. 动态DNS服务:Nacos还提供了动态DNS服务,可以根据服务名直接解析到服务实例列表,方便进行流量调度和负载均衡。

关于Nacos的具体概念介绍可以在Nacos官方文档学习了解–Nacos简介

3. 基本关系概念

在注册中心中,主要的三个角色的关系,分别是服务注册中心 (Service Registry)、服务提供方 (Service Provider)、服务消费方 (Service Consumer)。
在这里插入图片描述

  1. 服务提供方 (Service Provider) 是指提供可复用和可调用服务的应用方。
    a. 启动时,向 Registry 注册自己为一个服务(Service)的实例(Instance)。
    b. 同时,定期向 Registry 发送心跳,告诉自己还存活。
    c. 关闭时,向 Registry 取消注册。
  2. 服务消费方 (Service Consumer)是指会发起对某个服务调用的应用方。
    a. 启动时,向 Registry 订阅使用到的服务,并缓存服务的实例列表在内存中。
    b. Consumer 向对应服务的 Provider 发起调用时,从内存中的该服务的实例列表选择一个,进行远程调用。
    c. 关闭时,向 Registry 取消订阅。
  3. 服务注册中心 (Service Registry)是整个服务治理的核心组件,它的主要职责是管理和维护所有服务提供者的注册信息,以及处理服务消费者的查询请求。
    a. Provider 超过一定时间未心跳时,从服务的实例列表移除。
    b. 服务的实例列表发生变化(新增或者移除)时,通知订阅该服务的 Consumer,从而让 Consumer 能够刷新本地缓存。

4. 安装Nacos

4.1 下载

本次使用的Nacos版本为2.3.1, 直接在官方github上Releases · alibaba/nacos下载安装包。
在这里插入图片描述

4.2 本地安装

  1. 解压安装包,进入bin目录下。Windows环境下,单例部署
#启动命令
startup.cmd -m standalone

启动成功打印日志
在这里插入图片描述
2. 访问管理界面
浏览器访问http://127.0.0.1:8848/nacos即可进入管理界面,到这里,最简单的nacos单例部署已经完成。
在这里插入图片描述

拓展

  1. nacos2.3.1启动访问管理界面不需要登录账号密码,之前的版本启动之后默认是使用账号:nacos和密码:nacos进行登录。
  2. 进入管理界面你会看到提示“当前集群没有开启鉴权,请参考文档开启鉴权~”,如果需要配置账号密码登录访问,需要进行鉴权配置,配置文件在conf目录下application.properties文件。
    a. 配置nacos.core.auth.enabled(是否开启鉴权功能)
    b. nacos.core.auth.plugin.nacos.token.secret.key(默认鉴权插件用于生成用户登陆临时accessToken所使用的密钥)
    c. nacos.core.auth.server.identity.key(用于替换useragent白名单的身份识别key)
    d. nacos.core.auth.server.identity.value(用于替换useragent白名单的身份识别value)
  3. 具体参考nacos鉴权配置文档权限认证部分。

5. 集成Nacos服务注册

5.1 服务提供者

创建项目作为服务提供者provider-demo。

  1. 创建maven项目
  2. 引入依赖
    引入依赖时需要注意Spring Boot、Spring Cloud、Spring Cloud Alibaba 的版本兼容,具体参考在《Spring Cloud 版本说明》文档说明。
    <properties>
        <spring.boot.version>2.3.12.RELEASE</spring.boot.version>
        <spring.cloud.version>Hoxton.SR12</spring.cloud.version>
        <spring.cloud.alibaba.version>2.2.8.RELEASE</spring.cloud.alibaba.version>
    </properties>

    <!-- Spring Boot、Spring Cloud、Spring Cloud Alibaba 依赖-->
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-parent</artifactId>
                <version>${spring.boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值