600元做网站,鞍山网站制作招聘网,WordPress禁ua,新余做网站公司1. 什么是配置管理?
Nacos 配置管理是一个集中管理配置的工具。
它把微服务的配置集中存放#xff0c;方便管理。可以动态更新配置#xff0c;配置变了#xff0c;微服务能马上知道并更新#xff0c;不用重启。还能进行版本控制#xff0c;记录配置的历史版本方便回滚。…1. 什么是配置管理?
Nacos 配置管理是一个集中管理配置的工具。
它把微服务的配置集中存放方便管理。可以动态更新配置配置变了微服务能马上知道并更新不用重启。还能进行版本控制记录配置的历史版本方便回滚。并且可以对配置分组区分不同环境或项目组的配置。同时有一定的权限控制保障配置安全。 2. 共享配置
把微服务共享的配置抽取到Nacos中统一管理这样就不需要每个微服务都重复配置了。分为两步
2.1. 在Nacos中添加共享配置
以cart-service购物车模块为例,将application.yaml中重复的配置集中一起放到Nacos管理中
jdbc相关配置: 日志相关配置: 然后是swagger以及OpenFeign的配置 而后在nacos控制台分别添加这些配置。 在配置管理-配置列表中点击新建一个配置: 在弹出的表单中填写对应信息: 详细配置信息如下:
spring:datasource:url: jdbc:mysql://${hm.db.host:192.168.218.15}:${hm.db.port:3307}/${hm.db.database}?useUnicodetruecharacterEncodingUTF-8autoReconnecttrueserverTimezoneAsia/Shanghaidriver-class-name: com.mysql.cj.jdbc.Driverusername: ${hm.db.un:root}password: ${hm.db.pw:123}
mybatis-plus:configuration:default-enum-type-handler: com.baomidou.mybatisplus.core.handlers.MybatisEnumTypeHandlerglobal-config:db-config:update-strategy: not_nullid-type: auto
这里的jdbc的相关参数并没有写死例如 数据库ip通过${hm.db.host:192.168.218.15}配置了默认值为192.168.218.15同时允许通过${hm.db.host}来覆盖默认值 数据库端口同样通过${hm.db.port:3307}配置了默认值为3307同时允许通过${hm.db.port}来覆盖默认值 数据库database可以通过${hm.db.database}来设定无默认值
在控制台查看新增的配置 2.2 拉取共享配置
2.2.1 在cart-service模块中引入依赖: 代码如下: !--nacos配置管理--dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-config/artifactId/dependency!--读取bootstrap文件--dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-bootstrap/artifactId/dependency
2.2.2 新建bootstrap.yaml 代码如下:
spring:application:name: cart-service # 微服务名称profiles:active: devcloud:nacos:server-addr: 192.168.218.15:8848config:file-extension: yaml # 配置文件类型shared-configs: #共享配置- data-id: shared-jdbc.yaml- data-id: shared-log.yaml- data-id: shared-swagger.yaml 2.2.3 修改cart-service模块的application.yaml 代码如下:
server:port: 8082
feign:okhttp:enabled: true # 开启okhttp
hm:db:database: hm-cart #数据库名swagger:title: 黑马商城购物车服务接口文档package: com.hmall.cart.controller2.2.4 测试
启动服务,发现所有配置都生效了,说明成功了! 3. 配置热更新 配置热更新代表的我们修改完配置文件后,不需要重启服务,它会更新到微服务中,简单来说就是可以自动更新,不需要重新启动服务。
分为两步:
3.1 添加配置到Nacos
在nacos中添加一个配置文件将购物车的上限数量添加到配置中 查看配置: 注意: 配置文件中购物车数量的变量名要和项目中读取配置类中定义的变量名要一致 3.2 新建一个属性读取类
新建一个config包,包下新一个名为CartProperties类,用来读取配置 代码如下:
package com.hmall.cart.config;import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;Data
Component
ConfigurationProperties(prefix hm.cart)
public class CartProperties {private Integer maxItems;
}在业务中使用该属性 3.3 测试
向购物车中添加多个商品 在nacos控制台将购物车上限配置为10 无需重启再次测试购物车功能 加入成功
无需重启服务这说明我们的配置热更新就生效了