Nacos安装及服务注册
SpringCloudAlibaba依赖于SpringCloud,并且版本对应关系之间也有很大的差异,具体安装哪个版本的Nacos Server,需要参照官方文档给出的参考:组件版本说明。 如下图:
- 1、SpringCloudAlibaba 与 Nacos的版本关系
- 2、SpringCloud 、SpringCloudAlibaba、SpringBoot的版本依赖关系
通过以上参考确定各组件版本如下:
SpringCloud | SpringCloudAlibaba | SprngBoot | Nacos |
---|---|---|---|
Hoxton.SR9 | 2.2.6.RELEASE | 2.3.2.RELEASE | 1.4.2 |
一、安装Nacos
- 1、下载安装包:https://github.com/alibaba/nacos/releases/tag/1.4.2
- 2、解压服务
startup.cmd -m standalone
看到以下日志,则启动成功~
- 访问服务界面,默认用户名/密码:nacos/nacos
二、创建注册服务
创建一个聚合Maven工程,父pom中引入公共组件,具体服务实例pom中引入discovery组件,详细内容如下:
- 1、父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">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>cloudalibaba</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
<module>cloudalibaba-server-discovery</module>
</modules>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.2.RELEASE</version>
<relativePath/>
</parent>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Hoxton.SR9</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.6.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
</dependencies>
</project>
- 2、服务实例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">
<parent>
<artifactId>cloudalibaba</artifactId>
<groupId>org.example</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>cloudalibaba-server-discovery</artifactId>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
</dependencies>
</project>
- 3、编写配置文件
server.port=8081
spring.application.name=nacos-provider
spring.cloud.nacos.discovery.server-addr=localhost:8848
management.endpoints.web.exposure.include=*
PS: 如果遇到spring.cloud.nacos.discovery.server-addr 配置项下带波浪线,检查各个版本之间的对应关系即可解决。
- 4、编写启动类
package com.zero.cloud;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
/**
* @description: Appliction
* @author: zero
* @date: 2021/7/28 19:20
*/
@SpringBootApplication
@EnableDiscoveryClient
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
- 5、启动项目,查看日志
日志中有:nacos registry, DEFAULT_GROUP nacos-provider 192.168.180.1:8081 register finished 信息则表明已经注册到Naco上,也可以到Nacos的web界面上进行验证。
至此,SpringCloudAlibaba服务注册与发现搭建完毕,以上绝大部分信息都可以在官网找到~,戳:SpringCloudAlibaba官方文档。