Spring Cloud Alibaba中Nacos的安装(Windows平台)以及服务的发现
Spring Cloud Alibaba中Nacos的安装(Windows平台)以及服务的发现
- 下载安装Nacos
- 解压启动
- 验证是否启动
- 搭建一个简单的Spring Cloud Alibaba项目
- Spring Cloud Alibaba 以及 Nacos的引入
- 如何选择对应的版本
- 服务的注册
- Nacos相关组件的说明
下载安装Nacos
Github下载地址链接
往下滑找到Assets 选择对应的版本下载即可

解压启动
将得到的压缩包下载下来 然后解压到一个合适文件夹

bin目录下运行startup.cmd -m standalone 命令启动Nacos
执行命令Nacos以单机模式启动,而不是在集群中运行,其中的-m代表模式,standalone意为单机
验证是否启动
浏览器输入以下地址访问Nacos控制台
http://本机IP:8848/nacos
如果不知道本机ip就打开命令行,输入ipconfig查看即可
如果顺利运行的话,上述地址应当返回以下界面

搭建一个简单的Spring Cloud Alibaba项目
这里我们要准备一个简单的SpringBoot项目,
如果不会创建,请参考我的这篇文章:
Maven项目转为SpringBoot项目
Spring Cloud Alibaba 以及 Nacos的引入
这里需要的引入的依赖就几个:Spring Boot 、Spring Cloud Alibaba 、Nacos相关组件
但是问题在于,Spring Cloud Alibaba对组件有着严格的版本要求,如果版本未选择对,项目就运行不起来。
而且对于Maven的镜像也要注意,有的镜像中没有对应组件的版本,会导致下载失败。
如何选择对应的版本
所以在版本选择这里,大家要先去Github的Spring Cloud Alibaba看看各版本适配说明去看看。这里推荐几个地址:
github上的spring-cloud-alibaba

alibab给出的版本说明
这里简单介绍了Spring Cloud Alibaba与SpringBoot、及其一些所需要的组件(如Nacos、Seata等)对应的版本关系,虽然只是一小部分

官方给出的自动选择版本
这是我最喜欢的,它会自动帮你选择所需要的组件的版本信息,并且保证是适配的

勾选上对应的Spring Boot版本以后,它会自动帮你选择Spring Cloud Alibaba以及你勾选的其他组件版本

选择完成以后点击下面的浏览

即可看到其创建的简单示例项目中的pom文件中的对应版本

服务的注册
这里我们要用到的几个依赖分别是:Spring Boot 、Spring Cloud Alibaba 、Nacos-Discovery(服务的注册与发现)三个主要的依赖
我这里选择的版本是:
Spring Boot版本
<!-- spring boot的版本--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.4</version></parent>
spring cloud alibaba以及nacos-discovery的版本
<!-- spring cloud alibaba的版本--><spring-cloud-alibab.version>2021.0.5.0</spring-cloud-alibab.version><!-- nacos-discovery的版本--><spring-nacos.version>2021.0.5.0</spring-nacos.version>
这里也贴一下整个的pom文件信息
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><!-- Maven的版本--><modelVersion>4.0.0</modelVersion><!-- 打包方式指定为war包--><packaging>war</packaging><!-- spring boot的版本--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.4</version></parent><!-- 项目的一些基本信息--><groupId>demo.example</groupId><artifactId>NocosProjectResgister</artifactId><version>1.0-SNAPSHOT</version><!-- 全局的属性--><properties><!-- 项目的源代码的Java版本--><maven.compiler.source>11</maven.compiler.source><!-- 项目编译生成的字节码的目标Java版本--><maven.compiler.target>11</maven.compiler.target><!-- 项目的源代码文件的字符编码--><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><!-- spring cloud alibaba的版本--><spring-cloud-alibab.version>2021.0.5.0</spring-cloud-alibab.version><!-- nacos-discovery的版本--><spring-nacos.version>2021.0.5.0</spring-nacos.version></properties><!-- 依赖--><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- Nacos服务注册和发现的集成--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId><version>${spring-nacos.version}</version></dependency></dependencies><!-- 需要集中管理的依赖 子模块可以直接引用而无需重复引入 --><dependencyManagement><dependencies><!-- 引入spring cloud alibaba --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring-cloud-alibab.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><!-- 项目的构建配置,包括编译、打包、测试、部署等方面--><build><resources><!-- 构建项目过程中被复制到输出目录中,以便它们可以在应用程序运行时访问--><resource><directory>src/main/java</directory><includes><!-- 项目内mybatis的dao配置文件--><include>**/*.xml</include></includes></resource><resource><directory>src/main/resources</directory><includes><!-- 资源文件--><include>**/*.*</include></includes></resource></resources><plugins><!-- spring-boot中用于支持maven打包的插件--><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins><!-- 打包出来的名称 一般是项目的缩写外加版本号 --><finalName>npr</finalName></build></project>
然后在application.yml中添加Nacos服务的地址:
#嵌入式web服务器的配置信息
server:#端口为9000port: 9000tomcat:#Tomcat容器的URI编码 确保能够正确解析包含非ASCII字符的URLuri-encoding: UTF-8spring:#服务相关信息application:name: nacos_register#cloud中相关配置信息cloud:#nacos的配置信息nacos:discovery:#服务的地址 我这里是安装在本机上 默认是8848端口server-addr: 192.168.2.102:8848
进到nacos的控制台,看到有以下信息,即算注册成功

Nacos相关组件的说明
在我们选择组件时不难发现,这其中有两个nacos相关的组件:
nacos-discovery 和nacos-configuration。

前者是用于服务的发现和注册的
而后者是用于 Nacos服务的配置管理模块。它允许应用程序从 Nacos 服务器中动态获取其配置信息。这意味着你可以在应用程序运行时动态更改配置而不需要重启服务。
相关文章:
Spring Cloud Alibaba中Nacos的安装(Windows平台)以及服务的发现
Spring Cloud Alibaba中Nacos的安装(Windows平台)以及服务的发现 下载安装Nacos解压启动验证是否启动搭建一个简单的Spring Cloud Alibaba项目Spring Cloud Alibaba 以及 Nacos的引入如何选择对应的版本 服务的注册Nacos相关组件的说明 下载安装Nacos G…...
QR码应用实战:Spring Boot与ZXing完美结合
🎏:你只管努力,剩下的交给时间 🏠 :小破站 QR码应用实战:Spring Boot与ZXing完美结合 前言第一: 介绍QR码和ZXing第二:springboot整合zxing添加ZXing依赖生成二维码生成条形码 前言 …...
Leetcode刷题详解——两两交换链表中的节点
1. 题目链接:24. 两两交换链表中的节点 2. 题目描述: 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 …...
Openssl数据安全传输平台019:外联接口类的封装以及动态库的制作 - Bug未解决,感觉不是代码的问题
文章目录 1 外联接口1.1 接口类的封装1.2 共享内存与配置文件 2 json格式配置文件的定义2.1 共享内存中存储的节点结构2.2 服务器端配置文件2.3 客户端配置文件2.4 改进配置文件 3 共享内存类修改4 将接口打包成库(静态/动态)4.1 相关的指令4.1.1 静态库4.1.2 动态库 4.2 外联接…...
YOLO目标检测——安全帽佩戴检测数据集【含对应voc、coco和yolo三种格式标签】
实际项目应用:安全帽佩戴检测数据集可以用于实时检测工作人员是否按照要求佩戴了安全帽,以保障他们的安全数据集说明:安全帽佩戴检测数据集,真实场景的高质量图片数据,数据场景丰富,图片分为带头盔和没带头…...
P4345 [SHOI2015] 超能粒子炮·改 题解---------Lucas定理
题面: 题目 题意概括: T T T 次询问,每次给出 n , k n,k n,k,求 ∑ i 0 k C n i % 2333 \sum_{i 0}^{k} C_{n}^{i} \ \% \ 2333 ∑i0kCni % 2333。 1 ≤ T ≤ 1 0 5 , 1 ≤ n , k ≤ 1 0 18 1\leq T \leq10^5…...
http代理和ip代理的区别,代理IP带来了哪些好处?
随着互联网的快速发展,代理IP和HTTP代理已成为网络爬虫、网络营销、数据抓取等领域中不可或缺的一部分。但是,很多人在使用代理IP和HTTP代理时并不清楚两者的区别,以及代理IP所带来的好处。本文将详细介绍这两者之间的差异,以及代…...
浅谈电动汽车充电桩检测技术的实现
叶根胜 安科瑞电气股份有限公司 上海嘉定 201801 摘要: 关键词:电动直流和交流充电桩是我国电动汽车充电桩中运行量较大的一种。为了保持正常运行和使用,应高度重视检测、运行和维护工作。因此,有关部门应做好充电桩的检测工作…...
20 分钟搭建一个串流服务器
步骤1:准备Nginx RTMP容器 首先,您可以使用官方的Nginx RTMP Docker镜像来创建Nginx RTMP容器。运行以下命令: docker run -d -p 1935:1935 --name nginx-rtmp tiangolo/nginx-rtmp 这将在后台运行Nginx RTMP容器,将本地1935端…...
Android ActivityLifecycleCallback使用
在 Android 开发中,ActivityLifecycleCallbacks 是一个接口,用于监听和管理应用程序中 Activity 的生命周期事件。通过实现 ActivityLifecycleCallbacks 接口,可以在 Activity 的创建、启动、暂停、恢复、停止和销毁等各个阶段执行相应的操作…...
力扣labuladong——一刷day14
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、力扣21. 合并两个有序链表二、力扣86. 分隔链表三、力扣23. 合并 K 个升序链表四、力扣19. 删除链表的倒数第 N 个结点五、力扣876. 链表的中间结点六、力扣…...
循环神经网络(RNN)与长短期记忆网络(LSTM)
前言: 通过前面的学习,我们以BP神经网络为基础,认识到了损失函数,激活函数,以及梯度下降法的原理;而后学习了卷积神经网络,知道图像识别是如何实现的。今天这篇文章,讲述的就是计算机…...
ArxDbgDocLockWrite 类简介
ArxDbgDocLockWrite 类是一个用于在 AutoCAD 中锁定文档的自定义类。它提供了一些方法来获取和释放对文档的写入锁定,并且还可以设置当前文档。 该类的原理如下: 构造函数 ArxDbgDocLockWrite() 和 ArxDbgDocLockWrite(AcDbDatabase* db) 用于创建 Arx…...
【教3妹学编辑-算法题】环和杆
3妹:2哥,今年春节的放假安排出来了,今年春节放8天假,我们公司除夕提前放一天,总共9天假。 耶~~~ 2哥 :你们公司这么好啊, 我们公司的放假安排还没出来,不知道今年除夕能不能回家了… 3妹&#x…...
解决 eslint 的 Parsing error: Unexpected token 错误
解决 eslint 的 Parsing error: Unexpected token 错误 问题描述:import动态导入,将js文件单独打包时,webpack打包错误 ERROR in ./src/js/main.js Module Error (from ./node_modules/_eslint-loader4.0.2eslint-loader/dist/cjs.js ): F…...
VR全景技术在文化展示与传播中有哪些应用?
引言: 随着科技的不断进步,虚拟现实(VR)全景技术已经成为文化展示与传播领域的一项重要工具。那么VR全景技术是如何改变文化展示与传播方式,VR全景技术又如何推动文化的传承和普及呢? 一.VR技术…...
Linux shell编程学习笔记19:until循环语句
Linux shell编程中的until语句,在功能上与其它编程语言一致,但在结构与其它编程语言又不太一样。在大多数编程语言中,until语句的循环条件表达式一般位于循环体语句的后面,但是在Linux shell编程中,until语句的循环条件…...
(CV)论文列表
CNN卷积神经网络之SKNet及代码 https://blog.csdn.net/qq_41917697/article/details/122791002 【CVPR2022 oral】MixFormer: Mixing Features across Windows and Dimensions 【精选】【CVPR2022 oral】MixFormer: Mixing Features across Windows and Dimensions-CSDN博客...
恶意软件防范和拦截: 提供防范恶意软件攻击的策略
恶意软件,或者俗称的“病毒”,一直是IT领域的一个严重威胁。这些恶意软件可以窃取敏感信息、损害系统稳定性,甚至对企业和个人造成重大经济损失。在这篇博客文章中,我们将讨论如何防范和拦截恶意软件攻击,包括使用反病…...
单例模式浅析
程序中仅存在一个对象实例,避免重复构建浪费资源。 1.饿汉式 主要分为3步:1.构造方法私有化 2.内部创建静态实例化对象 3.提供公有静态方法,返回对象实例 public class SingleTon { // 构造方法私有化private SingleTon(){} // 内部…...
OpenClaw多模态编程:Phi-3-vision-128k-instruct实现流程图转Python代码
OpenClaw多模态编程:Phi-3-vision-128k-instruct实现流程图转Python代码 1. 为什么需要流程图转代码工具 在原型开发阶段,我经常遇到这样的困境:在白板上画完清晰的流程图后,需要花费大量时间手动转换为可执行代码。这种重复劳动…...
别再只盯着report_timing了!DC综合后,用report_constraint -all_violation全面排查时序与DRC违规(附实战解读)
别再只盯着report_timing了!DC综合后全面排查时序与DRC违规的实战指南 在数字IC设计流程中,Design Compiler(DC)综合后的时序分析环节往往让工程师们又爱又恨。面对密密麻麻的违规报告,新手工程师常陷入两个极端&#…...
React-md-editor性能优化:如何提升大型文档编辑体验
React-md-editor性能优化:如何提升大型文档编辑体验 【免费下载链接】react-md-editor A simple markdown editor with preview, implemented with React.js and TypeScript. 项目地址: https://gitcode.com/gh_mirrors/re/react-md-editor React-md-editor…...
什么叫低代码?低代码平台能做什么?国内十大低代码平台盘点
在数字化转型浪潮席卷全球的今天,软件开发效率成为企业竞争的关键因素。低代码(Low-Code)作为一种革命性的开发模式,正以惊人速度改变着传统软件开发的格局,让"人人都是开发者"的愿景逐渐成为现实。本文将深…...
消费级GPU福音:百川2-13B-4bits+OpenClaw自动化测试报告
消费级GPU福音:百川2-13B-4bitsOpenClaw自动化测试报告 1. 为什么选择这个组合? 去年冬天,我盯着显卡监控软件里跳动的显存占用数字,突然意识到一个问题:大多数开源大模型对消费级GPU太不友好了。动辄20GB以上的显存…...
公司网站SEO优化需要定期优化调整吗
公司网站SEO优化需要定期优化调整吗? 在当今数字化时代,公司网站的SEO优化(搜索引擎优化)不仅是提升网站曝光率的关键,更是增加客户流量和转化率的重要手段。有许多企业在SEO优化上存在疑惑,尤其是关于“公…...
GeekDoc
GeekDoc 中文系列教程是一个庞大且组织良好的技术文档集合,它并非单一教程,而是一个开源文档翻译与整理项目,旨在将优秀的技术文档和教程翻译成中文,并按技术领域进行分类。其内容广泛覆盖了信息技术领域的多个核心方向࿰…...
OpenClaw调试技巧:Phi-3-vision-128k-instruct视觉任务失败原因分析
OpenClaw调试技巧:Phi-3-vision-128k-instruct视觉任务失败原因分析 1. 问题背景与现象描述 上周我在尝试用OpenClaw对接Phi-3-vision-128k-instruct模型处理一组产品截图时,遇到了令人困惑的识别失败问题。明明人眼能清晰辨认的界面元素,模…...
XUnity.AutoTranslator:为Unity游戏开启多语言世界的智能钥匙
XUnity.AutoTranslator:为Unity游戏开启多语言世界的智能钥匙 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 当游戏语言成为障碍:一个翻译插件的诞生背景 你是否曾经遇到过这样的…...
联邦学习实战解析:FedAvg算法在非独立同分布数据下的优化策略
1. FedAvg算法在非独立同分布数据中的核心挑战 非独立同分布(Non-IID)数据是联邦学习中最常见的现实场景。想象一下,十个不同地区的医院合作训练医疗影像模型:北京医院的CT扫描以肺部疾病为主,上海医院的数据集可能更多…...
