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

问题引入

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

相关推荐
Brandon汐2 分钟前
LVS+Keepalived 双主架构全规划(LVS→HAProxy→Web)
容器·架构·lvs
小猿姐22 分钟前
当KubeBlocks遇上国产数据库之Kingbase:让信创数据库“飞得更高”
运维·数据库·云原生
Moe48844 分钟前
WebSocket :从浏览器 API 到 Spring 握手、Handler 与前端客户端
java·后端·架构
ai产品老杨1 小时前
异构计算时代的安防底座:基于 Docker 的 X86/ARM 双架构 AI 视频管理平台深度解析
arm开发·docker·架构
Arthas2171 小时前
Java大厂面试:从Spring到微服务的全面技术考察
java·jvm·spring·微服务·面试·并发
ai生成式引擎优化技术2 小时前
TSPR-WEB-LLM-HIC 架构方案可开发系统
架构
zhangshuang-peta2 小时前
MCP 在企业架构中的位置:它该放在哪一层?
人工智能·架构·ai agent·mcp·peta
沐风清扬2 小时前
微服务架构中的安全边界:网关鉴权 vs 子系统本地鉴权
微服务
智搜搜索2 小时前
PHP老矣?看我们如何用“陈旧”技术栈构建亿级实时搜索引擎:智搜搜索架构深度揭秘
架构
Coder个人博客3 小时前
03_apollo_scripts子模块整体软件架构深入分析文档
架构