关于微服务下的不同服务之间配置不能通用的问题

问题引入

现有两个服务,一个是 A 服务,一个是 B 服务,并且这两个服务都需要使用 mysql。

现 B 服务中引入了 A 服务的依赖,在 A 服务中添加了 mysql 的相关配置,那么这时就有一个问题:既然 B 已经引入了 A 的依赖,是不是 B 就不需要添加 mysql 的配置了呢?

知识补充

配置的作用域

  • 配置的作用域是服务级别的
  • 配置与代码是分离的,配置信息与服务一样,是独立的,即使引入了该服务的依赖,该服务的配置也不会在别的服务中生效
  • Spring Boot / Cloud 只会加载自己服务中的配置信息,即使引入了别的服务的依赖,也不会加载该服务的配置信息

依赖中包含了服务的哪些信息

当引入了某个服务的依赖,就相当于引入了这个服务的类文件、接口定义、工具类等,但不包含配置文件

问题讲解

即使 B 引入 A 的依赖,但由于依赖中不包含配置文件,这也就导致,即使 A 服务中已经添加了 mysql 的配置,但是 B 服务是没有办法加载到 A 服务的配置信息的,这就导致,B 服务没有办法正常使用 mysql。

解决思路

若 B 服务也需要使用 mysql,就需要将 mysql 的相关配置也添加到 B 服务中,这样 B 服务在启动时,就可以加载到 mysql 的配置信息,也就能正常使用 mysql 服务了。

相关推荐
编程彩机10 小时前
互联网大厂Java面试:从分布式架构到大数据场景解析
java·大数据·微服务·spark·kafka·分布式事务·分布式架构
vx-bot55566610 小时前
企业微信接口在多租户SaaS平台中的集成架构与数据隔离实践
大数据·架构·企业微信
Wpa.wk12 小时前
容器编排 - 了解K8s(pod, deployment,service,lable等概念)
经验分享·测试工具·docker·云原生·容器·kubernetes
江畔何人初12 小时前
kubernet与docker的关系
linux·运维·云原生
桌面运维家13 小时前
vDisk流量怎么精细化分配?VOI/IDV架构配置指南
架构
zuozewei13 小时前
7D-AI系列:DeepSeek Engram 架构代码分析
人工智能·架构
徐礼昭|商派软件市场负责人13 小时前
Moltbot,也就是OpenClaw的底层架构解析
架构
国科安芯13 小时前
面向星载芯片原子钟的RISC-V架构MCU抗辐照特性研究及可靠性分析
单片机·嵌入式硬件·架构·制造·risc-v·pcb工艺·安全性测试
小北的AI科技分享13 小时前
人工智能大模型搭建:数据、算法与算力的三大基石
架构·模型·搭建
xuefuhe14 小时前
Kubernetes基础入门4 应用的扩展与收缩
云原生·容器·kubernetes