服务间通信协议怎么选?为什么要避免过于“脆弱/强绑定”的协议?
How do you choose inter-service communication protocols, and why avoid overly brittle or tightly coupled ones?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: medium
分类: System Design
参考答案摘要
答案 协议选择要兼顾:跨语言互通、演进兼容、性能与可观测性。常见是 HTTP/REST、gRPC、消息队列(事件驱动)。 如果选用强绑定或难兼容的协议(例如强依赖特定运行时/序列化方式),会限制消费者技术栈,并增加向后兼容难度,导致升级成本飙升。 建议:对外 REST 兼容性好;内部高性能可选 gRPC;异步解耦用事件/消息。
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。