​​《Spring Cloud Nacos 从零开始:安装 + Java 代码实战》​

1.Nacos简介

2018年6月, Eureka 2.0宣布闭源(但是1.X版本仍然为活跃项目), 同年7⽉份, 阿⾥Nacos宣布开源. 并快速成为国内最受关注开源产品. 作为Eureka的替代, Nacos已经成为了国内开发者的首选, 目前NacosStar 已经突破28K(Eureka 12K)

Nacos (Dynamic Naming and Configuration Service)
在最初开源时,Nacos选择进行内部三个产品合并统一开源(Configserver 非持久注册中心,VIPServer持久化注册中心,Diamond 配置中心).定位为:一个更易于构建云原生应用的动态服务发现,配置管理和服务管理平台.所以Nacos是一个注册中心组件,但它又不仅仅是注册中心组件。截至目前,Nacos几乎支持了所有的主流语言,比如 Java,Go,C++,Nodejs,Python,Scala等 。

  

2.Nacos安装 

学习阶段采用单机版安装即可,以下内容都是单机版。

2.1 Windows环境安装 

1 下载Nacos安装包 

目前官方推荐的稳定版本为2.2.2,所以可以安装2.2.3

下载Nacos安装包地址:Release 2.2.3 (May 25th, 2023) · alibaba/nacos · GitHub  

 根据自己电脑可以解压缩的格式去选择画红框中的一个压缩包即可,我选择的是.zip格式的压缩包

此时,将压缩包解压到一个非中文的路径下,压缩完毕后,在安装包的同级路劲下就会增加一个个同名的文件,在这个同名的文件下就有一个名字为nacos的文件,如下图 

进入nacos文件,就可以看到几个文件

目录介绍:

bin:Nacos的启动脚本,bin文件夹里面有一个文件,如下图

conf文件:Nacos的配置文件

target:存放Nacos应用的jar包 

2 修改Nacos的默认启动模式 

因为Nacos的默认启动方式是集群模式,启动前我们要修改配置为单机模式。

进入bin文件夹,用记事本或者其他方式打开startup.cmd文件,找到下图中的部分,将MODE的value修改为standalone,如下图

3启动Nacos 

启动Nacos很简单,双击startup.cmd文件即可,如果出现下面图片的情况就表示Nacos安装成功了。

接着就能通过ip+端口号/nacos的方式去访问Nacos的主页了,如下图

Nacos默认的端口号为8848 

启动Nacos时出现端口号8848冲突怎么办?

如果你按照上面的操作已经成功运行Nacos了,这里就不用看了,

很简单,先打开cmd,输入一下命令去查找端口号为8848的进程,win+R打开输入框,输入cmd,然后点击确定

 接着在黑框框中输入一下的命令

netstat -ano | findstr "8848" 

如果有端口号的进程,就会有下图的结果,如果存在该进程,则会有下图的效果,如果没有该进程,则不会显示任何东西

注意:这里我查询的是端口号为10020的进程,大家根据自己的需求去查询即可 

接着输入下面的命令结束掉该进程

taskkill /pid 8848 -f 

注意:这里的8848看自己的情况来填写,不是固定的,启动Nacos时是哪一个端口号冲突,就将8848换成对应的端口号。 

最后去Nacos的配置文件中修改器默认的端口号即可 

第一步,如下图 

 然后,在application.properties文价中找到下图画红框的部分,大约在第23行,记住修改完记得Ctrl键+s保存再退出application.properties文价

到这里应该Nacos就应该都安装成功了 

2.2 Linux环境安装 

 1.准备安装包

将刚才下载的压缩包提前上传到云服务器上的任意一个路劲,然后再该目录输入下面的命令对压缩包进行解压

unzip nacos-server-2.2.3.zip

如果第一次在云服务器中解压文件,首先要输入一下命令安装解压指令

apt-get install unzip 

2.单机模式启动

进入bin文夹,如果云服务器是Ubuntu环境下,则输入一下命令启动nacos即可

bash startup.sh -m standalone 

成功启动Nacos之后,通过服务器的ip:8848/nacos去浏览器访问Nacos的主页,如果能成功访问,则代表Nacos安装成功

3.Nacos的快速上手 

Nacos是Spring Cloud Alibaba的组件, Spring Cloud Alibaba遵循Spring Cloud中定义的服务注册和服务发现规范,因此使用Nacos和使用Eureka对于微服务来说,并没有太大区别。

主要差异在于:

1.Eureka需要自己搭建一个服务,Nacos不用自己搭建服务,组件已经准备好了,只需启动即可

2.对应的依赖和配置不同

3.1 父工程 

引入Spring Cloud Alibaba依赖 

在父工程的pom文件中的<dependencyManagement>中引入Spring Cloud 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>

然后在父工程中的<properties>引入对应的版本号 

<spring-cloud-alibaba.version>2022.0.0.0-RC2</spring-cloud-alibaba.version>

注意事项:Spring Boot和Spring Cloud的版本是有一定对应关系的,Spring Cloud Alibaba也遵循Spring Cloud的标准,在引入依赖时,一定要确认各个版本的对应关系

Spring Cloud Alibaba和Spring Cloud版本对应关系,参考官方文档

版本发布说明-阿里云Spring Cloud Alibaba官网

3.2 子工程 

1.在子工程中引入相关的依赖 

在子工程中引入Nacos的依赖和Load Balance 

引入nacos的依赖,如下面就是nacos的依赖

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

引入Load Balance的依赖

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-loadbalancer</artifactId>
        </dependency>

2.在子工程中添加相关的配置 

在子工程的配置文件中添加以下配置 

 如果是在自己的机器上使用Nacos,则server-addr:127.0.0.1:自己的端口号

 3.远程调用

1. 修改IP为项目名

2.为restTmplate添加负载均衡 

4.启动服务 

当我们启动子工程服务,观察Nacos的主界面发现,启动的服务就会注册到Nacos中了。

 访问订单服务,发现成功访问 

测试负载均衡,发现负载均衡也测试成功

4.拓展部分 

如果使用Java代码连接的是自己云服务器上的Nacos,不是本机上的Nacos可能会出现下图的报错

此时继续往下翻错误日志,找到下图部分 

这部分有一个port xxxxx is available的提示,接着去自己的云服器去开放这个xxx端口号即可

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值