为什么还要在 Worker 层做并发限制?最大并发数应该如何与资源容量(CPU/内存/下游)绑定?
Why rate limit at the worker level, and how do you tie max concurrency to resource capacity (CPU/memory/downstream)?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: medium
分类: System Design
标签: worker, concurrency, backpressure
参考答案摘要
答案 即使队列里任务很多,也不能让 worker 无限并发,否则会把 CPU/内存打满或把下游(DB/API)压垮。Worker 层并发限制的做法: 每个 worker 设置 max_concurrency (线程池/协程池/进程池)。 根据 CPU 核数、内存占用、任务类型(I/O vs CPU)以及下游配额动态调整。 结合自适应负载:当检测到资源逼近阈值(例如 CPU>80%)时降低并发或暂停...
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。