springcloud对接nacos配置中心及注册中心
一、版本对照表
版本参照:
springboot:2.6.9
springcloud:2021.0.1
nacos:2021.0.1.0
参考文章:
版本说明 · alibaba/spring-cloud-alibaba Wiki · GitHub
SpringBoot、SpringCloud和nacos集成版本需要对应,不然总有意想不到的效果
GITEE项目地址: springcloud_nacos: springboot2.6.9springcloud2021.0.1nacos2.2.2整合
二、nacos使用规则
nacos默认可访问的应用:必须在同命名空间namespace、同分组group下应用
nacos默认只有:public(保留空间)空间,先自己创建个空间玩一下:
在服务列表、配置列表即可看到DEV空间
三、程序可以注册上来了
创建maven工程,pom.xml添加依赖配置:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.9</version>
<relativePath />
</parent>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>1.8</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>2021.0.1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<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>
<!--spring-cloud-starter-bootstrap must add -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
<!-- nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2021.0.1.0</version>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2021.0.1.0</version>
</dependency>
创建启动类:
@SpringBootApplication
@EnableDiscoveryClient // 开启服务发现客户端,加载Nacos配置中心配置项
@EnableConfigurationProperties
@RefreshScope // 配置项动态生效
public class CloudNacosApplication {
public static void main(String[] args) {
SpringApplication.run(CloudNacosApplication.class, args);
}
}
创建配置文件bootstrap.yml
---
server:
port: 8080
tomcat:
max-http-header-size: 8192
servlet:
context-path: /app-service/
---
spring:
application:
name: nacos-service
main:
allow-bean-definition-overriding: true
cloud:
nacos:
# nacos用户名
#username: nacos
# nacos用户密码
#password: nacos
# nacos服务器地址
# server-addr: 192.168.17.1:8848
server-addr: 192.168.2.226:8848
# nacos注册中心相关
discovery:
# 开启nacos作为服务注册中心,默认值:true
enabled: true
# 作为注册中心的nacos服务器地址,默认值:${spring.cloud.nacos:server-addr}
#server-addr:
# 服务注册在nacso上的命名空间ID,默认值:public
namespace: DEV
group: ${spring.cloud.nacos.discovery.metadata.unit}
refresh-enabled: true
metadata:
region: AZ1
unit: UNIT2
启动程序
程序已经注册成功。