Springboot整合 Spring Cloud Alibaba Nacos注册中心

1.环境搭建与版本选择

注:各组件版本很重要,要确认自己Springboot版本
1.Springboot Spring Cloud  Spring Cloud Alibaba组件版本关系
https://sca.aliyun.com/docs/2023/overview/version-explain/?spm=5176.29160081.0.0.748065cbd69hSu

2.本人版本选择如下
   Springboot版本:3.2.0
   Spring Cloud版本 2023.0.0 
   Spring Cloud Alibaba版本 2023.0.0.0-RC1
   
3.pom.xml部分内容
	<properties>
        <spring-boot.version>3.2.0</spring-boot.version>
        <spring-cloud.version>2023.0.0</spring-cloud.version>
        <spring-cloud-alibaba.version>2023.0.0.0-RC1</spring-cloud-alibaba.version>	
	</properties>

	<dependencyManagement>
        <dependencies>	
			<dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!-- SpringCloud 微服务 -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!-- SpringCloud Alibaba 微服务 版本管理-->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${spring-cloud-alibaba.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

2.Nacos介绍

(https://img-blog.csdnimg.cn/direct/9c955aaf07da462f9afc97c9cc2c8a88.png)

Nacos:https://nacos.io/zh-cn/docs/v2/quickstart/quick-start.html

1.集 注册中心+配置中心+服务管理的平台
2.主要特性如下: 
	1.服务发现与服务健康检测
	2.动态配置服务
	3.动态DNS服务
	4.服务及其元数据管理
3.核心功能:
  1.服务注册:Nacos Client(客户端)会通过Rest请求方式向Nacos Server(服务端)注册自己的服务,并提供自身的元数据,比如ip,port。Nacos Server接收到注册请求后会把这些元数据存储在一张注册表中
  2.服务心跳:在服务注册后,Nacos Client会维护一个定时心跳来持续通知Nacos Server,说明服务处于可用状态,防止被剔除,默认5S中发送一次心跳,超过5S没有接收到,Nacos Server会将服务状态改为不可用。
  3.服务同步:搭建Nacos集群后,Nacos Server集群之间会相互同步服务实例信息,保证服务一致性。
  4.服务发现:Nacos Client向Nacos Server定时发送Rest请求获取注册的服务列表,并缓存在Nacos Client本地。
  5.服务健康检查:Nacos Server会开启一个定时任务用来检查已注册服务实例的健康状况,对于超过15S没有收到Nacos Client心跳的实例会将其状态改为false(不可用。服务发现时也不会被发现),如果一个实例超过30S没有收到心跳,则Nacos Server会直接删除该实例。

3.Nacos Server部署

本人下载的是2.3.0.根据Spring Cloud Alibaba版本选择
1.下载地址:https://github.com/alibaba/nacos/releases
2.下载windows压缩包并解压
3.进入conf目录修改application.properties。配置nacos数据源做持久化(在此之前需创建一个mysql数据库,并执行mysql-schema.sql初始化数据)(不修改默认运行在内存中)。
4.运行Nacos Server,进入bin目录打开shell窗口,输入.\startup.cmd -m standalone(单机模式运行)
5.登录Nacos平台,账密 nacos/nacos

Nacos Server启用Mysql做持久化
Nacos Server启动成功
Nacos Server平台

4.搭建Nacos Client(Springboot项目整合Nacos)

1.子项目pom文件引入Nacos依赖,这里不需要标明版本号,因为父pom文件已经加入了SpringCloud Alibaba 微服务 版本管理依赖
<!-- SpringCloud Alibaba Nacos -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        
        <!-- SpringCloud Alibaba Nacos Config -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
2.在Nacos平台新建项目配置
3.项目application.yml添加Nacos配置信息如下:
	# 开发环境配置
	server:
	  # 服务器的HTTP端口,默认为8080
	  port: 9002
	
	##注册到nacos的服务名
	spring:
	  application:
	    name: @artifactId@
	  profiles:
	    active: ${profiles.active}
	  cloud:
	    nacos:
	      discovery:
	        server-addr: 127.0.0.1:8848
	      config:
	        server-addr: ${spring.cloud.nacos.discovery.server-addr}
	  config:
	    import:
	      - optional:nacos:initial-stage-common.yml
	      - optional:nacos:initial-stage-${profiles.active}.yml
4.启动项目
 
 控制台打印以下日志,说明Nacos Client成功注册到Nacos Server
2024-04-26 11:13:45 [main] INFO  c.initial.system.SystemApplication
 - The following 1 profile is active: "local"
2024-04-26 11:13:45 [main] INFO  c.a.c.n.c.NacosConfigDataLoader
 - [Nacos Config] Load config[dataId=initial-stage-local.yml, group=DEFAULT_GROUP] success
2024-04-26 11:13:45 [main] INFO  c.a.c.n.c.NacosConfigDataLoader
 - [Nacos Config] Load config[dataId=initial-stage-common.yml, group=DEFAULT_GROUP] success

 - nacos.cache.data.init.snapshot = true 
2024-04-26 11:13:54 [main] INFO  c.a.n.c.config.impl.ClientWorker
 - [fixed-127.0.0.1_8848] [subscribe] initial-stage-common.yml+DEFAULT_GROUP
2024-04-26 11:13:54 [main] INFO  c.a.n.client.config.impl.CacheData
 - [fixed-127.0.0.1_8848] [add-listener] ok, tenant=, dataId=initial-stage-common.yml, group=DEFAULT_GROUP, cnt=1
2024-04-26 11:13:54 [main] INFO  c.a.c.n.r.NacosContextRefresher
 - [Nacos Config] Listening config: dataId=initial-stage-common.yml, group=DEFAULT_GROUP
2024-04-26 11:13:54 [main] INFO  c.a.n.c.config.impl.ClientWorker
 - [fixed-127.0.0.1_8848] [subscribe] initial-stage-local.yml+DEFAULT_GROUP
2024-04-26 11:13:54 [main] INFO  c.a.n.client.config.impl.CacheData
 - [fixed-127.0.0.1_8848] [add-listener] ok, tenant=, dataId=initial-stage-local.yml, group=DEFAULT_GROUP, cnt=1
2024-04-26 11:13:54 [main] INFO  c.a.c.n.r.NacosContextRefresher
 - [Nacos Config] Listening config: dataId=initial-stage-local.yml, group=DEFAULT_GROUP
5.在Nacos平台查看注册的服务信息

Nacos Server添加项目配置
注册在Nacos Server 上的Nacos Client
Nacos Client元数据以及健康状态

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值