nacos使用
主要两个功能
1 服务注册和发现
2 配置
注册中心
Nacos本身作为一个服务,server,也是springboot的java项目,因此依赖于jdk1.8;
Nacos提供了open API和SDK;所以注册到nacos的服务提供者和消费者,都是通过nacos的api实现的,【引入naos依赖了】;
可以建一个springboot项目,作为客户端,来使用这个nacos,即将服务注册到nacos,从nacos获取服务;直接使用nacos的API即可;
Nacos可以集群部署,conf下面有多个配置文件,起三个nacos,配置上进行集群配置;
Dubbo使用nacos做注册中心,【dubbo其实是相当于spring cloud 的feign,服务间的调用和通信 使用dubbo通信协议,rpc方式】,这里使用的是Nacos的boot启动器依赖, //是dubbo+nacos+springboot,还不是springcloud
Spring cloud使用nacos做注册中心,使用spring cloud nacos依赖;
配置中心
写在bootstrap优先级高,关于获取配置中心连接信息的配置,要写在bootstrap配置文件,这里是配置的配置;先通过这段配置拿到nacos配置中心,再通过nacos配置中心读取其他配置项;
服务名,端口,数据源等,这些都是项目启动所需要的配置;如果这些配置项也配在nacos,那么一定要使用bootstrap,配置了连接信息+服务名,这样才能知道去读nacos上的哪一个配置,获取到项目启动所需要的配置项信息
@NacosValue的使用
<dependency> <groupId>com.alibaba.boot</groupId> <artifactId>nacos-config-spring-boot-starter</artifactId> <version>0.2.1</version> </dependency>
@SpringBootApplication @EnableDiscoveryClient @NacosPropertySource(dataId = "paopao-item", autoRefreshed = true) public class PaoPaoItemApplication { @NacosValue("${name}") // 可以使用这个注解,但是值读不进来,要配合NacosPropertySource注解一起使用,nacos.config.server-addr=127.0.0.1:8848 才能最终生效 private String userName;