应用程序在启动和运行的时候往往需要读取一些配置信息。比如:数据库连接参数、启动参数、JVM参数等等。
特点:配置是独立与程序的只读变量、伴随着应用的声明周期,有多种加载方式(.yml、–spring.profile.active=dev、从数据库读取)
从各个应用中,剥离出来,统一管理,应用程序可获取配置信息。
优点:配置中心文件被修改,会自动去向应用程序发送配置更新的信息,各个应用程序会重新获取最新的配置。
Spring Cloud Config、Nacos、Apollo
Nacos性能最好!Apollo其次Spring Cloud Config最差!
Nacos 依赖 Java 环境来运行。如果您是从代码开始构建并运行Nacos,还需要为此配置 Maven环境,请确保是在以下版本环境中安装使用:
启动命令(standalone代表着单机模式运行,非集群模式):
sh startup.sh -m standalone
如果您使用的是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行:
bash startup.sh -m standalone
启动命令(standalone代表着单机模式运行,非集群模式):
startup.cmd -m standalone
Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
基准速度: 2.80 GHz
插槽: 2
内核: 20
逻辑处理器: 40
虚拟化: 已启用
L1 缓存: 1.2 MB
L2 缓存: 5.0 MB
L3 缓存: 50.0 MB
利用率 8%
速度 3.12 GHz
正常运行时间 6:15:00:39
进程 241
线程 5462
句柄 128179
启动成功了,我们就去第一张图的地址去访问吧!
Nacos 启动成功!默认账号密码:nacos
进入控制台!通过Nacos OPEN API服务来测试 发布、获取配置了!
curl -X POST "http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080"
curl -X GET "http://127.0.0.1:8848/nacos/v1/ns/instance/list?serviceName=nacos.naming.serviceName"
curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=HelloWorld"
curl -X GET "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"
sh shutdown.sh
shutdown.cmd
或者双击shutdown.cmd运行文件。
注意!我们发布的Nacos上的所有内容都是使用的自身嵌入式数据库存储,我们需要更替为我们自己的Mysql数据库存储
### If use MySQL as datasource: 下面这句网上很多傻逼文章作者都不说,以后我们还是查看application.properties.example的示例吧吧!
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=root
完成后,重启一下服务。就可以了!发现我们之前发布的服务都不见了,即已经使用我们自己指定的数据库了!最好再去重新发布一个简单的,再去数据库确定一下。
完结!
特殊说明: 解决问题的光鲜,藏着磕Bug的痛苦。 万物皆入轮回,谁也躲不掉! 以上文章,均是我实际操作,写出来的笔记资料,不会出现全文盗用别人文章!烦请各位,请勿直接盗用!