为什么需要分布式 Job Queue(Kafka/RabbitMQ)?它在调度与执行之间起什么作用?
Why do you need a distributed job queue (Kafka/RabbitMQ), and what does it do between scheduling and execution?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: medium
分类: System Design
标签: queue, decoupling, backpressure
参考答案摘要
答案 分布式队列是调度与执行之间的 缓冲层 与 解耦层 : 削峰填谷 :调度瞬间产生 5 万条任务时,队列吸收峰值,worker 按能力消费。 弹性扩缩容 :新增 worker 只需加入消费组即可提高吞吐。 可靠投递 :支持 ack、重投、至少一次投递语义,配合幂等可做到可控一致性。 隔离故障 :执行侧短暂挂掉不会把调度侧拖垮。
答题技巧
技术面试题建议先理清思路再作答,从基础概念讲起,逐步深入。可以结合实际项目经验解释技术原理,展示你的理解深度和实践能力。
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案、收藏题目并进行模拟面试练习。