文章目录
springcloud微服务的配置中心
为什么使用配置中心
nacos作为配置中心。
(1)nacos服务只需要下载nacos的压缩文件,解压即可启动
关于nacos的安装和启动在我的这个博客有详细介绍
https://blog.csdn.net/weixin_56320090/article/details/117334865
1.nacos配置中心的客户端使用。—微服务。
访问网页的nacos:localhost:8899 登录–>配置管理–>配置列表。进行操作
2.新增配置
1.点击配置列表右边的加号+
2.添加配置并且发布
3.在springboot项目中引用
1.添加依赖
//注册nacos依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
//拉取配置文件依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
两个都需要,因为只有注册了才可以在配置中心拉取配置
2.在微服务中使用配置中心的配置文件。
必须使用bootstrap.properties[yml] 这个配置文件的加载顺序,高于application.properties
# 微服务的名称
spring.application.name=shop-product
#拉去地址
spring.cloud.nacos.config.server-addr=localhost:8899
#绑定命名空间
spring.cloud.nacos.config.namespace=a4cfa548-dea1-498c-a2e6-9f7bbfdbea00
#指定读取到的配置文件类型,properties类型或者yml类型,要看在配置中心书写的配置格式决定。默认不写就是properties类型
spring.cloud.nacos.config.file-extension=properties
#如果需要引入其他的配置文件信息,就要采用以下格式进行应用
#extension-configs[0]代表第一个更多配置 data-id:引用的配置文件id
#读取额外配置项
spring.cloud.nacos.config.extension-configs[0].data-id=nacos-discovery
#读取额外配置项
spring.cloud.nacos.config.extension-configs[1].data-id=datasource
#指定额外配置是否实时更新 默认为false
spring.cloud.nacos.config.extension-configs[1].refresh=true
展示启动:
apollo配置中心。
1.apollo配置中心简介
apollo默认会实时更新配置文件,可以设置权限,使用方便,部署好即可使用
2.使用apollo配置中心
1.环境准备 jdk1.8以上 mysql必须5.6以上
2.下载apollo服务端软件。
https://github.com/nobodyiam/apollo-build-scripts
3.解压 创建两个数据库
4.把相应的sql语句导入到不同的数据库中
apollo->sql找到两个sql文件
分别把两个文件中的sql运行到对应的数据库中
5.修改demo.sh中连接数据库的信息
主要修改连接信息,用户名,密码等
6.启动apollo服务端 git
在当前的demo.sh文件夹右键git
启动apollo服务端 git
注意:运行apollo需要保证 8080 、8070、8060三个端口不被占用
如果有冲突就需要关闭我们的服务来保证apollo正常运行
3.客户端使用apollo
①访问apollo
访问端口为8070 登录账号密码:
账号:apollo
密码:admin
②创建配置
1.点击创建
2.填写信息
3.点击文本–>修改 添加配置(配置为key value形式,中间用=号连接)
4.发布
③springboot项目读取
1.加入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
2.在application.properties中加入配置
//需要读取的配置id
app.id=my-apollo
//apollo的ip和端口
apollo.meta=http://localhost:8080
//自动更新
apollo.bootstrap.enabled=true
//项目端口
server.port=8077