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

问题引入

现有两个服务,一个是 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 服务了。

相关推荐
kyriewen111 小时前
项目做了一半想重写?这套前端架构让你少走3年弯路
前端·javascript·chrome·架构·ecmascript·html5
空中海2 小时前
第十二章:安卓实战架构与最佳实践
android·架构
匀泪4 小时前
云原生(Kubernetes service微服务)
微服务·云原生·kubernetes
一个有温度的技术博主5 小时前
Spring Cloud 入门与实战:从架构拆分到核心组件详解
spring·spring cloud·架构
小江的记录本5 小时前
【系统设计】《2026高频经典系统设计题》(秒杀系统、短链接系统、订单系统、支付系统、IM系统、RAG系统设计)(完整版)
java·后端·python·安全·设计模式·架构·系统架构
倔强的胖蚂蚁5 小时前
Ollama Modelfile 配置文件 全指南
云原生·开源
Mintopia5 小时前
接口为什么越写越难改:从一开始就能避免的设计问题
架构
AutoMQ7 小时前
AWS 新发布的 S3 Files 适合作为 Kafka 的存储吗?
云原生·消息队列·云计算
预知同行8 小时前
Planning Agent 架构深度解析:从 ReAct 到 Plan-and-Execute 与 Reflexion 的工程实践
架构