首页 > 其他分享 >微服务:配置管理

微服务:配置管理

时间:2024-04-28 21:00:58浏览次数:22  
标签:服务 spring 配置 配置管理 nacos yaml cloud

为什么引入了配置管理?

  微服务内重复配置过多,维护成本较高

  业务配置经常变动,每次修改都要重启服务

  网关路由配置写死,如果改写需要重启网关

 

配置文件共享

首先在nacos中创建一个配置:

在配置管理的配置列表中,右边点击加号

填写dataId,修改配置内容,支持使用${value}读取application.yml中的数据

载入依赖

        <!--nacos配置管理-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
        <!--读取bootstrap文件-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bootstrap</artifactId>
        </dependency>

在springcloud项目的res中添加bootstrap.yml

spring:
  application:
    name: user-service  # 微服务名称
  profiles:
    active: dev
  cloud:
    nacos:
      server-addr: 192.168.88.95:8848
      config:
        file-extension: yaml
        shared-configs:
          - data-id: jdbc.yaml
          - dataId: log.yaml
          - dataId: swagger.yaml

修改application.yml

server:
  port: 8086
hm:
  db:
    database: hm-pay
  swagger:
    title: 黑马商城支付接口文档
    description: "黑马商城支付接口文档"
    resname: pay

 

 配置热更新(这里千万要遵循老师指导:能cv绝不手写,不然你就要像我一样一个错误查一个小时最后发现是单词拼错了)

首先在模块内创建一个属性读取类来读取需要热更新的属性

@Data
@Component
@ConfigurationProperties(prefix = "hm.cart")
public class CartProperties {
    private Integer maxAmount;
}

将配置添加至nacos中,文件名需要遵守的格式为

[服务名]-[spring.active.profile].[后缀名] spring.active.profile,可以省略,则所有profile共享该配置
hm:
  cart:
    maxAmount: 1

随后该参数直接在nacos中改动即可,不需要重启服务器就可以实现参数变动。在console中我们可以看到maxAmount改动后生效了

 

 

标签:服务,spring,配置,配置管理,nacos,yaml,cloud
From: https://www.cnblogs.com/kun1790051360/p/18158197

相关文章

  • 云服务器部署lucky配合frp实现域名访问本地Docker容器
    云服务器部署lucky配合frp实现域名访问DX4600FRP内网穿透可以看我这个帖子:https://www.cnblogs.com/snbg/p/18040720操作流程(配置流程)1.购买一个域名和服务器2.配置云服务器3.部署lucky实现域名访问操作步骤(配置步骤)一、购买一个域名和服务器1.购买一个域名域名购买网站:......
  • 使用minikube在云服务器安装k8s单机版
    1:前置安装了docker环境2:进入minikube的官网页面,下载命令https://minikube.sigs.k8s.io/docs/start/curl-LOhttps://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64sudoinstallminikube-linux-amd64/usr/local/bin/minikubeminikubekubectl--......
  • Aliyun服务器部署MySql 8.0
    Aliyun服务器部署MySql8.0一、安装MySQL复制相应版本;下载wget-i-chttps://repo.mysql.com//mysql80-community-release-el8-1.noarch.rpm1安装yum-yinstallmysql80-community-release-el8-1.noarch.rpm12、安装MySQL服务器安装命令(可以先执行下一步操作,再来......
  • 微服务商城
     一、集群信息操作系统:ubuntu22.04内核:5.15.0-105-genericcontainerd版本:1.6.31kubernetes版本:1.28.9网络插件:ciliumcilium版本:1.15.3pod负载均衡:metallbmetallb版本:0.14.5 1.1、节点准备k8s-cilium-master-01172.16.88.614vcpu8G50Gk8s-cilium-master-02......
  • Angular cli 组件和服务的创建, 父传子,子传父,服务的简单使用
    1:Angularcli创建组件componentnggcomponentcomponents\rightnggcwave简写需要定位到根路径下即可创建组件CouldnotfindanNgModule.Usetheskip-importoptiontoskipimportinginNgModule.PSC:\myAngulrDemos\20240428demo\mydemo01\src>cd..PSC......
  • 在aliyun的云服务器Debain12系统上面安装git
    摘要:本文为个人测试目的搭建aliyun上的Debain服务器,纯属测试环境。一、阿里云上部署Debain12,具体步骤参考阿里云官网订购99元/年云计算资源+DNS/年,赶上优惠活动132元,做简单的lab够用了。创建计算机创建DNS生成SSHPrivateKey,pem文件并下载二、使用PuTTY通过Pri......
  • Golang基于etcd实现服务注册和发现功能
    简单做个笔记registerpackagemainimport( "os" "log" "time" "syscall" "context" "os/signal" "go.etcd.io/etcd/clientv3")//ServiceRegister创建租约注册服务typeServiceRegisterstruct......
  • 服务器安全卫士
    1.云锁(部分功能免费,可以远程登录,记录远程登录IP,访问频繁可以自动添加IP到黑名单,可设置首次访问验证,配置防卸载密码,可配置指定目录文件不能删除)没有杀毒2.服务器安全狗......
  • 微服务调用form-data 流文件异常
    Noserializerfoundforclassjava.io.FileDescriptorandnopropertiesdiscoveredtocreateBeanSerializer(toavoidexception,disableSerializationFeature.FAIL_ON_EMPTY_BEANS)(throughreferencechain:com.cloud.module.smartkey.dto.UploadParam["upl......
  • 利用水墨映客图床作为COS服务器
    目录利用水墨映客作为COS服务器利用picGo配合typora上传图片安装PicGo(以Windows为例)安装lankong插件在SpringBoot中开发图片上传工具类设置图片上传请求的参数设置图片的参数读取图片内容并写入请求获取响应利用水墨映客作为COS服务器文章类网站项目的图片存储都是一个很重要......