下面将研究以下几个问题:
nacos的角色: nacos是如何工作的? 在集群中扮演什么样的角色?
修改nacos配置数据库: 我们在控制台配置的信息, 默认是写到nacos的默认数据库中, 不方便管理, 因此我们设置一个自己的数据库, 进行管理操作
在控制台配置nacos配置
nacos配置管理的模型: 基本概念,namespace, group, data id及其用法
命名空间的管理, namespace的使用
Nacos配置管理应用于分布式系统
7.Nacos集群部署
一. nacos的角色
在这里插入图片描述
这张图说明了nacos是一个单独的服务器, 用户修改或者发布配置信息, 会通知下游的服务器. 下游的服务器也可以根据一定的规则读取配置中心的配置信息.
让nacos成为spring cloud集群的一部分
启动nacos服务
将nacos纳为spring cloud微服务的一部分
将spring cloud其他应用服务注册到nacos上.
二. 修改nacos配置数据库
下面验证服务的可用性
1. 启动nacos
./startup.sh -m standalone
注意: 这里一定要单机模式启动, 默认是集群模式, 我们现在没有在集群中, 会报异常.
2 往配置中心发布配置
nacos是一个服务, 他对外也提供了很多接口, 其中一个是添加配置的接口. 我们模拟这个接口进行配置:
看到返回结果是true. 然后刷新控制台, 可以看到如下
在这里插入图片描述
3. 从配置中心获取配置
在这里插入图片描述
获取helloworld内容
4. 改变nacos配置数据的存储位置
我们把配置信息添加到nacos, 那么,他是如何保存的呢? nacos某一个默认的自带数据库, 这个数据库不方便操作和查找. 因此我们将其替换为自己的mysql数据库
1. 准备一个mysql数据库
因为mysql比较大, 所以,我使用的是docker安装的mysql
下载mysql
docker pull mysql:5.7.15
启动mysql
docker run -p 3306:3306 --name MySQLDocker -v
PWD/logs:/var/log/mysql -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.15
2. 创建一个nacos_config的数据库
在这里插入图片描述
3. 初始化nacos_config表结构
在这里找到配置文件: ${nacosHome}/conf/nacos-mysql.
4. 修改application.properties配置文件
在这里插入图片描述
然后重新启动.
在执行上面的写配置
数据库里生成了一条配置信息:
在这里插入图片描述
三. nacos配置
1. 在控制台添加配置
Data ID: nacos-simple-demo.yaml
Group: DEFAULT_GROUP
配置格式: YAML
配置内容:
common
config: something
将以上信息在控制台配置好了
在这里插入图片描述
以上就是在nacos服务端建好了配置信息
2. 模拟nacos客户端--获取nacos服务端配置
public class DemoTest {
public static void main(String[] args) throws NacosException {
String dataId = "test.demo.yml";
String group = "DEFAULT_GROUP";
String serverAddr = "localhost:8848";
Properties properties = new Properties();
properties.setProperty("serverAddr", serverAddr);
// 和nacos服务建立连接
ConfigService configService = NacosFactory.createConfigService(properties);
String config = configService.getConfig(dataId, group, 10);
System.out.println(config);
}
}