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

问题引入

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

相关推荐
六行神算API-天璇3 分钟前
架构实战:打造基于大模型的“混合搜索”系统,兼顾关键词与语义
人工智能·架构
顾林海1 小时前
从0到1搭建Android网络框架:别再让你的请求在"路上迷路"了
android·面试·架构
语落心生2 小时前
Apache Geaflow推理框架Geaflow-infer 解析系列(四)依赖管理
架构
阿里云云原生2 小时前
Agentic 时代必备技能:手把手为 Dify 应用构建全链路可观测系统
云原生
云渠道商yunshuguoji2 小时前
亚马逊云渠道商:如何用 EC2 Auto Scaling 轻松应对流量洪峰?
架构
落日漫游2 小时前
CI/CD流程
云原生
炸裂狸花猫3 小时前
开源域名证书工具 - cert-manager
云原生·容器·kubernetes·开源·cert-manager
泉城老铁3 小时前
Vue2实现语音报警
前端·vue.js·架构
云渠道商yunshuguoji3 小时前
阿里云渠道商:如何选择高性价比阿里云GPU配置?
架构
会飞的小蛮猪3 小时前
Ubuntu24.04基于Docker部署K8s(使用私服部署)
经验分享·docker·云原生·容器·kubernetes