logo

为什么微服务要避免“服务2直接读服务1的数据库”?正确做法是什么?

Why should Service 2 avoid reading Service 1’s database directly? What is the right approach?

题目类型: 技术面试题

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

难度: medium

分类: System Design

标签: database per service, contracts

参考答案摘要

答案 直接读别人的库会把 数据库 schema 变成隐式契约 :一旦服务1改表,服务2就可能被悄悄打爆,而且很难追踪谁依赖了哪些字段,导致服务无法独立演进。正确做法是 通过服务1提供的 API/事件 获取数据:服务1对外暴露稳定契约,内部实现与数据结构可自由调整;需要读模型可用事件同步/物化视图等方式构建。

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

← 返回面试题库

为什么微服务要避免“服务2直接读服务1的数据库”?正确做法是什么?

Mediummicroservicesapi

想查看完整答案?

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

前往学习中心查看答案