SpringCloud-项目引入Nacos

news/2024/12/22 0:02:08/

一、安装Nacos服务

首先,我们需要从 Nacos 的官方网站下载发布版本。下载地址:Releases · alibaba/nacos · GitHub

选择合适的版本并下载,解压缩得到 Nacos 的安装包。 

在解压后的 Nacos 目录中,找到 bin 文件夹。

用写字板编辑 startup.cmd,将 set MODE= "cluster" 修改为:

set MODE=“standalone”

这将在启动 Nacos Server 时,默认使用 standalone 模式运行。

修改完成后,切换 cmd 到 bin 目录下启动 Nacos Server:

C:\Users\Damon.Liu>d:
D:\>cd D:\Tools\Nacos\bin
D:\Tools\Nacos\bin>startup.cmd -m standalone

这里提醒我需要配一个 java8以上 的 JAVA_HOME 环境变量。

简单配一下:

再次尝试启动 Nacos,这次成功了!


二、项目引入Nacos

首先,创建一个带有生产者和消费者的SpringCloud微服务项目:

这里就不重头带大家新建了,可以直接看我这篇文章:SpringCloud-创建多模块项目-CSDN博客

接着对我们 SpringCloud 项目下 每个子项目 引入 Nacos,下面拿 springcloud-provider 这个子项目进行举例,其他子项目改造方法相同:

① pom.xml增加依赖

pom.xml 里增加 Nacos 自动发现的依赖:

<dependency> <groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId><version>2021.0.5.0</version>
</dependency>


② 启动类添加自动发现注解

启动类增加自动服务发现的注解 @EnableDiscoveryClient:

package com.example.springcloudprovider;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;@EnableDiscoveryClient
@SpringBootApplication
public class NacosProviderApplication {public static void main(String[] args) {SpringApplication.run(NacosProviderApplication.class, args);}}


③ 修改 application.yml 配置

修改 application.yml,配置内容修改为:

server:#程序端口号port: 8081
spring:application:#应用名称name: springcloud-providercloud:nacos:discovery:#nacos地址server-addr: 127.0.0.1:8848config:import-check:enabled: false
management:endpoints:web:exposure:#公开所有端点include: '*'

这样 Nacos 服务就可以自动发现这个子项目的服务了。

访问我们的 Nacos 服务地址:localhost:8848/nacos,可以看到控制台的查看已注册服务。


三、测试服务是否注册到Nacos

按照上面服务注册到 Nacos 的方法,把所有需要注册到 Nacos 服务的项目都按照上述方法进行更改,更改完成之后,我们启动所有项目。

访问 Nacos 服务控制台:localhost:8848/nacos

可以看到我们目前的服务都已经注册到 Nacos 里了。


http://www.ppmy.cn/news/1350506.html

相关文章

【Ubuntu 20.04/22.04 LTS】最新 esp-matter SDK 软件编译环境搭建步骤

仓库链接&#xff1a;esp-matter SDK官方软件说明&#xff1a;ESP Matter Programming Guide官方参考文档&#xff1a;使用 Matter-SDK 快速搭建 Matter 环境 (Linux) 环境要求 Ubuntu 20.04 或 Ubuntu22.04网络环境支持访问 Gihub 在安装 esp-matter SDK 软件编译环境之前&a…

梯度提升树系列7——深入理解GBDT的参数调优

目录 写在开头1. GBDT的关键参数解析1.1 学习率(learning rate)1.2 树的数量(n_estimators)1.3 树的最大深度(max_depth)1.4 叶子节点的最小样本数(min_samples_leaf)1.5 特征选择的比例(max_features)1.6 最小分裂所需的样本数(min_samples_split)1.7 子采样比例(…

【数据结构】14 队列(带头结点的链式存储和顺序存储实现)

定义 队列是一个有序线性表&#xff0c;但是队列的插入、删除操作是分别在线性表的两个不同端点进行的。 设一个队列 Q ( a 1 , a 2 , . . . , a n ) Q (a_1, a_2,...,a_n) Q(a1​,a2​,...,an​)&#xff0c;那么 a 1 a_1 a1​被称为队头元素&#xff0c; a n a_n an​为队…

「Linux」基础命令

目录结构 Linux只有1个顶级目录&#xff0c;称为“根目录”路径之间的层级关系&#xff0c;使用/来表示&#xff0c;例如&#xff1a;/usr/local/hello.txt 开头的/表示根目录后面的/表示层级关系 命令入门 命令的通用格式&#xff1a;command [ -options ] [ parameter] c…

软件架构与系统架构:区别与联系的分析

软件架构与系统架构&#xff1a;区别与联系的分析 在信息技术领域&#xff0c;软件架构和系统架构这两个术语经常被提及。尽管它们在某些方面有重叠&#xff0c;但它们确实代表了不同的概念和聚焦点。理解这两种架构之间的区别和联系对于任何从事技术开发和设计的专业人士都是至…

PMP-情景模拟学习法-识别项目阶段

《指南》和题目中采用了一种默认划分方法&#xff0c;把项目分为&#xff1a;启动、规划、执行和收尾这四个通用阶段。PMP考试和每个问题几乎都是基于特定阶段的情况提出的。 第一&#xff0c;启动阶段&#xff1a;项目章程正式批准之前的时间&#xff0c;可以统称为启动阶段&a…

已解决org.springframework.web.HttpMediaTypeNotSupportedException异常的正确解决方法,亲测有效!!!

已解决org.springframework.web.HttpMediaTypeNotSupportedException异常的正确解决方法&#xff0c;亲测有效&#xff01;&#xff01;&#xff01; 文章目录 问题分析 报错原因 解决思路 解决方法 总结 问题分析 在开发基于Spring框架的Web应用时&#xff0c;我们可能…

【JavaScrpt 漫游】【015】JSON 对象简记

文章简介 本文为【JavaScript 漫游】专栏的第 015 篇文章&#xff0c;主要是对 JS 语言中的 JSON 对象的知识点进行了简要记录。 JSON 格式JSON 对象JSON.stringify()JSON.parse() JSON 格式 JSON 格式&#xff08;JavaScript Object Notation 的缩写&#xff09;是一种用于…