nacos概念
nacos支持基于dns和基于rpc的服务发现,可以作为springCloud的注册中心、动态配置服务、动态dns服务。
nacos注册中心分为server和client,server采用java编写,为client提供注册发现与配置服务。
快速集成
下载地址: https://github.com/alibaba/nacos/releases
本人用的2.0.3版本
下载后解压,,进入bin目录双击启动startup.cmd
此时会报错
报错原因是默认启动的是集群模式,这里我先改为单机模式。把cluster改为standalone
重启后成功
访问:http://localhost:8848/nacos/ 默认用户名和密码都是nacos
项目中集成
引入nacos依赖包
<?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>com.nacos</groupId> <artifactId>nacos</artifactId> <version>1.0-SNAPSHOT</version> <!-- Spring Boot 启动父依赖 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.12.RELEASE</version> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> <version>2.2.6.RELEASE</version> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <version>2.2.6.RELEASE</version> </dependency> </dependencies> </project>
yml配置: 新建bootstrap.yml
spring: application: name: demo profiles: active: dev cloud: nacos: username: nacos password: nacos server-addr: 127.0.0.1:8848 #nacos服务地址 discovery: namespace: 26d106c5-8c76-47a0-8c77-b58316892a91 config: namespace: 26d106c5-8c76-47a0-8c77-b58316892a91 #我们在nacos中创建的空间名称 timeout: 3000 refresh-enabled: true #修改后自动加载 group: dev #nacos配置文件所选择的group prefix: ${spring.application.name} file-extension: yaml #读取nacos配置文件后缀
启动类增加注解@EnableDiscoveryClient
@SpringBootApplication @EnableDiscoveryClient public class NacosApplication { public static void main(String[] args) { SpringApplication.run(NacosApplication.class,args); System.err.println("启动成功"); } }
在nacos控制台的demo下新建配置
然后我们启动我们的项目,发现与nacos通信成功,,并且所用的端口是我们在nacos中配置的port
至此,springboot简单集成nacos已完