Nacos注册中心
Nacos快速开始:https://nacos.io/zh-cn/docs/quick-start.html
一、Nacos安装
1、基于Docker安装
其他安装方式可以参考nacos快速开始
docker pull nacos/nacos-server
docker run --env MODE=standalone --name nacos -d -p 8848:8848 nacos/nacos-server
参数说明:
MODE standalone 单机模式
访问 --> localhost:8848/nacos
2、配置
① pom.xml依赖
<dependencies> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
② bootstrap配置文件
server: port: 8080 spring: application: name: service1 cloud: nacos: discovery: server-addr: 192.168.17.128:8848 config: server-addr: 192.168.17.128:8848 ## 注册中心需要手动配置服务的配置文件 ## 自动去nacos找 spring.application.name + yaml 的配置文件名;默认的优先级最大 file-extension: yaml ## 引入外部统一配置:自定义data-id,优先级【n】 n越大,优先级越高,优先级最低的是共享模式的配置 ## 不在默认分组,不支持动态刷新 ext-config[0]: data-id: ex-config-common1.properties group: DEV_GROUP ## 不在默认分组,但是指定refresh=true,支持动态刷新 ext-config[1]: data-id: ex-config-common2.properties group: TEST_GROUP refresh: true ## 默认分组 DEFAULT_GROUP 支持动态刷新(本项目版本貌似不支持自动刷新) ext-config[2]: data-id: ex-config-common3.properties
③ 启动类
@SpringBootApplication @EnableDiscoveryClient @RestController public class Service1Application { public static void main(String[] args) { SpringApplication.run(Service1Application.class, args); } //用environment会重新加载配置文件信息,无需配置@RefreshScope @Autowired private Environment environment; //需配置@RefreshScope @Value("${liyueken.name}") private String name; @GetMapping(value = "config") public String config(){ String property = environment.getProperty("liyueken.name"); String common1 = environment.getProperty("exconfig.common1"); String common2 = environment.getProperty("exconfig.common2"); String common3 = environment.getProperty("exconfig.common3"); return "property: "+property+"common1: "+common1+"common2: "+common2+"common3: "+common3; } }
④ Nacos配置文件