logo

微服务中一个常见错误是服务之间直接访问彼此的数据库,为什么这是问题?正确做法是什么?

A common microservices mistake is services directly accessing each other’s databases. Why is this a problem and what is the correct approach?

题目类型: 技术面试题

这是一道技术面试题,常见于澳洲IT公司面试中。

难度: medium

分类: system-design, architecture

标签: database-per-service, api-boundary, encapsulation, schema-change

参考答案摘要

TL;DR 微服务之间 直接访问他人数据库 会导致边界失控:谁依赖了哪些数据无法追踪,数据库 schema 变更会引发级联破坏,并阻碍服务独立演进。正确做法是 通过服务 API 获取数据 ,由数据拥有者负责封装与演进。 为什么直接访问数据库是问题 失去封装 :数据库细节暴露,服务边界被打穿。 变更风险大 :schema 变化可能悄悄破坏其他服务。 难以独立部署 :数据依赖耦合导致必须协调发布。 测...

本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。

← 返回面试题库

微服务中一个常见错误是服务之间直接访问彼此的数据库,为什么这是问题?正确做法是什么?

Mediumsystem-design

想查看完整答案?

登录匠人学院学习中心,获取 STAR 格式回答和详细技术解析

前往学习中心查看答案