nacos实现配置中心
在Springboot项目中引入nacos-config-spring-boot-starter依赖
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-config-spring-boot-starter</artifactId>
</dependency>
在配置文件(application.properties或bootstrap.yml)中设置nacos的地址和命名空间
注:application.properties或application.yml是Spring Boot项目的自动化配置文件,主要用于定义应用级别的配置信息,例如端口号,数据库连接,日志级别等。这些配置信息可以根据不同的环境(开发,测试,生产等)进行切换和覆盖。
bootstrap.properties或bootstrap.yml是Spring Cloud项目的引导配置文件,主要用于从外部源(例如配置中心,加密服务等)加载配置属性并解析配置。这些配置属性通常是系统级别的,不会变动的,或者需要提前加载的,例如应用名称,配置中心地址,加密密钥等。这些配置属性有高优先级,不会被本地配置覆盖。
bootstrap.properties或bootstrap.yml先加载,application.properties或application.yml后加载。bootstrap.properties或bootstrap.yml由父ApplicationContext加载,作为Spring应用的Application Context的父上下文。这两个上下文共享一个从外部获取的Environment。
nacos.config.server-addr=127.0.0.1:8848
nacos.config.namespace=dev
启动nacos,然后设置配置文件。就可以统一管理配置文件了
nacos服务注册
在Springboot项目中引入nacos-config-spring-boot-starter依赖
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-discovery-spring-boot-starter</artifactId>
</dependency>
在properties文件中添加nacos地址
spring:
cloud:
nacos:
discovery:
server-addr: ${NACOS_SERVER_ADDR:localhost:8848}
主应用程序类上添加@EnableDiscoveryClient注解,以启用Nacos服务注册的功能
@SpringBootApplication
@EnableDiscoveryClient
public class YourApplication {
public static void main(String[] args) {
SpringApplication.run(YourApplication.class, args);
}
}
nocas服务发现
Nacos进行服务发现,我们可以使用Spring Cloud的DiscoveryClient接口。该接口提供了一些方法,用于获取注册到Nacos服务中心的服务实例列表。
下面discoveryClient.getInstances(“service-name”)获取了名为"service-name"的服务实例列表。
public List<ServiceInstance> getServices() {
return discoveryClient.getInstances("service-name");
}