1.如果在生产情况下,修改了配置文件,项目需要下架,重新打包,重新发布。这在单机模式下影响不会太大,但如果过在一个集群项目中就会照成很大的影响,需要停掉多个项目。因此,Nacos配置文件中心就应运而生。
2.该配置文件会统一存储项目的核心配置文件,而不用把配置文件分别存在每台集群中的机器上,这样极大的方便了项目后期的修改维护。
3.该配置文件中心的修改,微服务群里的项目都会自动感知到,并实时的跟随配置文件中心的修改而修改。通过@RefreshScope注解就可以实现配置文件修改后,其他项目自动感知。
4.配置文件中心一般都是存储在仓库中,比如mysql仓库、git仓库等。因此,配置文件中心里面的文件是持久化的即使,nacos关闭后再打开这些文件仍然存在。
2.Nacos 配置文件中心实例
1.首先访问localhsot8848/nacos路径,进入nacos控制台,创建一个配置中心文件,如下所示
输入配置文件id(可以自定义,一般与项目名称相同),自动生成默认分组,选择YAML格式,也就是yml结尾的格式 。
点击发布,查看发布后的配置文件中心信息
2.创建一个nacos-config-a实例的model
3.修改pom.xml文件,使其版本对应
添加lombok的依赖
4.Student类
TestController类
package com.it.controller;
import com.it.domain.Student;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class TestController {
@Autowired
public Student student;
@GetMapping("info")
public String StudentInfo(){
return student.getName()+":"+student.getAge()+":"+student.getAddress();
}
}
5.bootstarp.yml配置文件
6.运行主函数启动类,启动项目
7.测试项目,可以正常访问
8.现在通过nacos控制台修改配置文件中的内容,再次访问项目,测试是否能够实时的同步修改后的文件
可以正常的实时同步配置文件内容
9.现在进入数据库中查看一下nacos配置文件中心同步到mysql数据库中的文件都有哪些
虽然数据库中可以直接显示出这些信息,但是修改这些信息只能通过nacos控制台操作,不能直接修改mysql数据库