当前位置: 首页 > news >正文

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 BootSpring Cloud AlibabaNacos相关组件
但是问题在于,Spring Cloud Alibaba对组件有着严格的版本要求,如果版本未选择对,项目就运行不起来。

而且对于Maven的镜像也要注意,有的镜像中没有对应组件的版本,会导致下载失败。

如何选择对应的版本

所以在版本选择这里,大家要先去GithubSpring Cloud Alibaba看看各版本适配说明去看看。这里推荐几个地址:

github上的spring-cloud-alibaba
在这里插入图片描述

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

官方给出的自动选择版本
这是我最喜欢的,它会自动帮你选择所需要的组件的版本信息,并且保证是适配
在这里插入图片描述
勾选上对应的Spring Boot版本以后,它会自动帮你选择Spring Cloud Alibaba以及你勾选的其他组件版本
在这里插入图片描述
选择完成以后点击下面的浏览
在这里插入图片描述
即可看到其创建的简单示例项目中的pom文件中的对应版本
在这里插入图片描述

服务的注册

这里我们要用到的几个依赖分别是:Spring BootSpring Cloud AlibabaNacos-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 服务器中动态获取其配置信息。这意味着你可以在应用程序运行时动态更改配置不需要重启服务

http://www.lryc.cn/news/214806.html

相关文章:

  • QR码应用实战:Spring Boot与ZXing完美结合
  • Leetcode刷题详解——两两交换链表中的节点
  • Openssl数据安全传输平台019:外联接口类的封装以及动态库的制作 - Bug未解决,感觉不是代码的问题
  • YOLO目标检测——安全帽佩戴检测数据集【含对应voc、coco和yolo三种格式标签】
  • P4345 [SHOI2015] 超能粒子炮·改 题解---------Lucas定理
  • http代理和ip代理的区别,代理IP带来了哪些好处?
  • 浅谈电动汽车充电桩检测技术的实现
  • 20 分钟搭建一个串流服务器
  • Android ActivityLifecycleCallback使用
  • 力扣labuladong——一刷day14
  • 循环神经网络(RNN)与长短期记忆网络(LSTM)
  • ArxDbgDocLockWrite 类简介
  • 【教3妹学编辑-算法题】环和杆
  • 解决 eslint 的 Parsing error: Unexpected token 错误
  • VR全景技术在文化展示与传播中有哪些应用?
  • Linux shell编程学习笔记19:until循环语句
  • (CV)论文列表
  • 恶意软件防范和拦截: 提供防范恶意软件攻击的策略
  • 单例模式浅析
  • Springboot引入mybatis-plus及操作mysql的json字段
  • springboot读取application.properties中文乱码问题
  • SAML- 安全断言标记语言
  • 【佳学基因检测】Node.js中http模块的使用
  • 前端基础之JavaScript
  • [GDOUCTF 2023]<ez_ze> SSTI 过滤数字 大括号{等
  • C/C++奇数求和 2021年3月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析
  • Android APT的使用
  • 【刷题宝典NO.0】
  • MySQL数据库——存储过程-介绍以及基本语法(特点、创建、调用、查看、删除、示例)
  • 基础课15——语音标注