下载Nacos
下载地址 这里以2.0.4版本为例,注意早先有些版本不支持Java11
安装使用
常用命令
# 解压命令
tar -zxvf nacos-server-2.0.4.tar.gz
# 单节点启动
./starup.sh -m standalone
# 关闭服务
./shutdown.sh
# 访问路径
http://ip:8848/nacos
基本配置
若要修改Nacos的一些配置,如端口号等,可修改[安装目录]/conf/application.properties
文件,例如我的安装目录为/opt/wong/nacos/
,则修改/opt/wong/nacos/conf/application.properties
文件中的server.port=9088
,将默认端口由8848修改为9088。
SpringCloud集成注册中心
-
注意事项
在微服务项目中集成Nacos,需要注意SpringCloud Alibaba 与 SpringCloud 的版本对应关系。
本例版本关系如下:
<!-- SpringCloud Alibaba 版本 2.2.6.RELEASE -->
<dependencyManagement>
<dependencies>
<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>
<!-- SpringBoot 版本 2.5.8 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.8</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<!-- SpringCloud 版本 2020.0.5 -->
<properties>
<java.version>11</java.version>
<spring-cloud.version>2020.0.5</spring-cloud.version>
</properties>
-
导入nacos需要的包
由于导入了SpringCloud Alibaba,这里可以不用写版本号
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
- 启动类中添加注解
@SpringBootApplication
@EnableDiscoveryClient // 开启服务注册与发现
public class DemoApplication {
public static void main(String[] args) {
}
}
- yml 配置
spring:
application:
name: demo
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:9088
-
查看注册结果
访问本地nacos地址
http://localhost:9088/nacos
默认用户:
nacos
默认密码:
nacos
SpringCloud集成配置中心
- 添加依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
- 配置文件
# 在与application.yml同级目录中创建bootstrap.yml文件
# 在bootstrap.yml文件中编写如下配置
spring:
application:
name: demo
cloud:
nacos:
config:
server-addr: 127.0.0.1:9088
file-extension: yml
注意
-
springboot 2.4 以上取消了bootstrap.yml的优先级
-
若想使用bootstrap.yml配置,需添加如下依赖
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bootstrap</artifactId> <version>3.1.0</version> </dependency>
Nacos配置中心
-
创建一个配置(注意Data Id 为完整文件名 xxx.yml)
文件名与
bootstrap.yml
中name
相同,文件格式与file-extension
定义相同 -
编写配置内容
-
编辑完成后点击页面右下角发布按钮
Java中获取配置
- 创建一个测试接收配置的类
@Getter
@Setter
@RefreshScope // 实时刷新
@Component
public class TestConfig {
@Value("${demo.test}")
private String test;
}