本章主要介绍如何使用nacos搭建一个注册中心和配置中心服务
第一步:创建一个springboot项目
新建一个SpringBoot项目nacos,在pom.xml中添加必要的依赖,完整的配置文件如下
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.2.RELEASE</version>
<relativePath/>
</parent>
<groupId>cn.edu.sgu.www</groupId>
<artifactId>nacos</artifactId>
<version>0.0.1-SNAPSHOT</version>
<properties>
<java.version>1.8</java.version>
<mysql.version>8.0.28</mysql.version>
<druid.version>1.1.21</druid.version>
<flyway.version>5.2.1</flyway.version>
<lombok.version>1.18.22</lombok.version>
<knife4j.version>2.0.9</knife4j.version>
<nacos.version>2.2.0.RELEASE</nacos.version>
<mybatis-boot.version>2.2.2</mybatis-boot.version>
<spring-cloud.version>Hoxton.SR9</spring-cloud.version>
<spring-boot.version>2.3.2.RELEASE</spring-boot.version>
<spring-cloud-alibaba.version>2.2.6.RELEASE</spring-cloud-alibaba.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<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>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
<version>${mysql.version}</version>
</dependency>
<!--druid-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>${druid.version}</version>
</dependency>
<!--mybatis-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>${mybatis-boot.version}</version>
</dependency>
<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</dependency>
<!--flyway-->
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-core</artifactId>
<version>${flyway.version}</version>
</dependency>
<!--knife4j-->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>${knife4j.version}</version>
</dependency>
<!--nacos注册中心-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>${nacos.version}</version>
</dependency>
<!--nacos配置中心-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
第二步:修改springboot配置文件
bootstrap.yml
server:
port: 8080
spring:
application:
name: nacos
cloud:
nacos:
discovery:
register-enabled: true
server-addr: ${master}:8848
namespace: ${nacos.namespace}
config:
file-extension: yaml
server-addr: ${master}:8848
namespace: ${nacos.namespace}
master:
localhost
nacos:
namespace: 21baf036-a74d-4c13-9209-dc69e7c1c1ad
application.yml
spring:
profiles:
active: dev
flyway:
enabled: false
mybatis:
mapper-locations: classpath:mapper/*Mapper.xml
knife4j:
enable: true
第三步:在nacos中新建配置文件
在这之前,请确保已经安装并启动了nacos。
1、在nacos中新建命名空间,其中命名空间ID指定为21baf036-a74d-4c13-9209-dc69e7c1c1ad,命名空间名和描述可以随便填
![](https://i-blog.csdnimg.cn/blog_migrate/4ad9b9c4bc2d2b18a6fab640a0d0b9f8.png)
2、在新建的命名空间中创建一个yaml格式的配置文件nacos-dev.yaml,文件内容如下
user:
name: heyunlin
message:
hello: hello ${user.name}
# 日志的显示级别
logging:
level:
cn.edu.sgu.www.nacos: debug
spring:
# 数据库配置
datasource:
username: root
password: root
url: jdbc:mysql://localhost:3306/nacos
type: com.alibaba.druid.pool.DruidDataSource
# flyway
flyway:
enabled: true
encoding: UTF-8
validate-on-migrate: true
baseline-on-migrate: true
sql-migration-separator: __
table: flyway_schema_history
locations: classpath:db/migration
![](https://i-blog.csdnimg.cn/blog_migrate/f79d4c821c8274354fcc7b1ec85914cb.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e9664c3babce377151c382f7c5480caf.png)
第四步:启动类上添加@EnableDiscoveryClient注解
package cn.edu.sgu.www.nacos;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@EnableDiscoveryClient
@SpringBootApplication
public class NacosApplication {
private final static Logger logger = LoggerFactory.getLogger(NacosApplication.class);
public static void main(String[] args) {
if (logger.isDebugEnabled()) {
logger.debug("启动nacos server......");
}
SpringApplication.run(NacosApplication.class, args);
}
}
至此,nacos作为注册中心和配置中心相关配置完成,文章涉及的项目已开源,可按需获取~