logo

为什么微服务要“隐藏实现细节,只暴露必要接口”?如果服务直接读别人的数据库会有什么问题?

Why should services hide implementation details and expose only necessary APIs? What goes wrong if Service B reads Service A's database directly?

题目类型: 技术面试题

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

难度: medium

分类: System Design

标签: database-per-service, contract

参考答案摘要

答案 微服务边界依赖稳定的契约(API/事件)。如果 Service B 直接访问 Service A 的数据库,相当于把私有实现变成公共依赖: Service A 的 schema 变更会直接破坏 Service B,导致发布必须协调。 无法判断谁在用哪些表/字段,降低演进与重构能力。 权限、安全与数据一致性更难治理,形成“隐形单体”。 正确做法是通过 Service A 的 API/事件获取数...

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

← 返回面试题库

为什么微服务要“隐藏实现细节,只暴露必要接口”?如果服务直接读别人的数据库会有什么问题?

Mediummicroservicesapidata

想查看完整答案?

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

前往学习中心查看答案