资料来源:02-Nacos配置管理-什么是配置中心_哔哩哔哩_bilibili
nacos记得下载2.x版本的,负责以后新建配置的时候会出现“发布错误,请检查参数是否正确”错误!!!!
目录
一、Nacos简介
1.1 四大功能:
1.2 对比
二、配置中心
2.1 什么是配置
2.1.1 特点
2.2 什么是配置中心
三、Nacos Server安装
3.1 文件下载
3.2 启动服务器(Windos方式)
3.3 OPEN API 配置管理测试
3.3.1 curl工具安装
3.3.2 发布配置
3.3.3 获取配置
3.3.4 关闭服务器(windows方式)
3.3.5 外部MySQL数据库支持
Nacos事阿里的一个开源产品,针对微服务架构中的服务发现、配置管理、服务治理的综合型解决方案。
①服务发现与服务健康检查
②动态配置管理
③动态DNS服务
从配置中心角度来看,性能方面Nacos的读写性能最高,Apollo次之,SpringCloudConfig依赖Git场景不适合开放的大规模自动化运维API。功能方面Apollo最为完善,nacos具有Apollo大部分配置管理功能,而SpringCloud Config不带运维管理界面,需要自行开发。Nacos的一大优势是整合了注册中心、配置中心功能,部署和操作相比
Releases · alibaba/nacos (github.com)
Nacos默认端口8848,所以我们要保证这个端口并没有被其他进程占用。
启动命令:
cmd startup.cmd
假如我们双击之后出现cmd运行窗口闪退,可以参考下面这个人的文章,真的很棒
(34条消息) NACOS启动闪退的情况_日出前的千夜的博客-CSDN博客_nacos启动闪退
输入地址回车后会出现下面这个网页
默认用户名:nacos 默认密码:nacos
仔细看,这是一个POST请求
curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=HelloWorld"
将上面的命令再cmd窗口进行运行,如果成功的话会出现“true”字样
此时出现true之后,我们再打开Nacos页面,配置列表->查询->就会出现下面这个配置,这个就是我们的配置信息
点击右侧详情
下面这个页面就会出现配置的内容 这个配置的内容,和我们刚刚所运行的指令相对应
我们的电脑就是一个客户端,我们要从nacos中获取数据
curl -X GET "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"
我们发布配置的时候指定了一个dataId、group、content
所以我们在获取配置的时候要指定dataId、group,此时我们便可以获取到content的内容,如下图所示
cmd shutdown.cmd
或者有个更直接的方式就是把窗口直接关掉
或者双击shutdown.cmd运行文件
如下图所示,nacos中会有一些数据,单机模式时nacos默认使用嵌入式数据库实现数据的存储,
MySQL和SQL Server这些数据库属于数据库服务器
SQLite、Berkeley DB等属于嵌入式数据库
嵌入式数据库跟数据库服务器最大的区别在于它们运行的地址空间不同。
通常,数据库服务器独立地运行一个守护进程(daemon),而嵌入式数据库与应用程序运行在同一个进程。
将下段语句复制到上面的文件当中
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=nacos_devtest
db.password=youdontknow
如果上面这个语句不行的话,我们可以使用下面这个,比上面的配置多了一个时区serverTimezone=UTC,除此之外我也把数据库名改成nacos了,这个文件和MySQL中的数据库都改,因为我是用上面的那个时候一直给我报错“com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'nacos_config'”,但是我修改之后发现没有了这个问题,至于什么原因我也不太清楚
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&serverTimezone=UTC&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root
127.0.0.1:3306 因为在我本机上,所以是127.0.0.1,MySQL的端口号3306
nacos_config 表示数据库名(我后来改成了 nacos)
db.user 、db.password 表示数据库的用户名和密码
重新启动nacos