什么是nacos
nacos支持基于dns和基于rpc的服务发现,可以作为springCloud的注册中心、动态配置服务、动态dns服务。
nacos注册中心分为server和client,server采用java编写,为client提供注册发现与配置服务。
快速使用
下载中间件:https://nacos.io/zh-cn/docs/quick-start.html
因为推荐使用的是2.0.1版本,我这里下载2.0.1版本。
注意:下载文件放在英文目录下
启动nacos
解压nacos-server-2.0.1.zip文件
双击启动
可以看到启动报错了,报错原因是默认启动的是集群模式,这里我先改为单机模式。
打开startup.cmd,第26行
此处改为standalone即可
重新启动,启动成功
访问:http://localhost:8848/nacos/
至此,nacos启动就完成了。默认用户名和密码都是nacos。
项目整合nacos
第一步:引入nacos依赖包
<!-- Nacos 组件依赖 -->
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-discovery-spring-boot-starter</artifactId>
<version>0.2.3</version>
</dependency>
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-config-spring-boot-starter</artifactId>
<version>0.2.3</version>
</dependency>
第二步:配置文件增加nacos服务地址
spring.application.name=NACOS-SERVER
server.port=10010
nacos.config.server-addr=127.0.0.1:8848
nacos.discovery.server-addr=127.0.0.1:8848
第三步:启动类增加注解@NacosPropertySource
@SpringBootApplication
@NacosPropertySource(dataId = "SERVER_ID",autoRefreshed = true)
public class NacosServerApplication {
public static void main(String[] args) {
SpringApplication.run(NacosServerApplication.class, args);
}
}
第四步:增加nacos配置类
@Configuration
public class NacosConfig {
@Value("${server.port}")
private int serverPort;
@Value("${spring.application.name}")
private String applicationName;
@NacosInjected
private NamingService namingService;
@PostConstruct
public void registerInstance() throws NacosException {
namingService.registerInstance(applicationName, "127.0.0.1", serverPort);
}
}
启动项目,访问:http://localhost:8848/nacos
至此,springBoot整合nacos就完成了。