How Amazon SQS fair queues work
9 days ago
- #Amazon SQS
- #Noisy Neighbor
- #Queue Management
- 亚马逊 SQS 公平队列在多租户环境中降低了“吵闹邻居”的影响。
- 租户通过 MessageGroupId 属性进行标识;未设置此属性的消息被视为独立租户。
- 通过并发份额(正在处理的消息数)和处理时间份额来检测吵闹邻居。
- 检测阈值是近似值(并发份额为10%,且至少30条消息;或处理时间占比10%)。
- 检测到吵闹邻居时,系统会优先投送给安静租户的消息。
- 吵闹邻居的消息不会被丢弃;但其滞留时间会增加,直到积压被清除。
- 对于多个吵闹邻居,系统会优先处理正在处理消息数较少的租户以平衡负载。
- 在积压消息全部消耗完毕或连续5分钟无正在处理的消息后,租户将重新被视为安静状态。
- 有效的检测需要充足的消费者处理能力和并发消息处理能力。
- 使用 Lambda 作为消费者时,需考虑并发数和批处理大小以获得最佳性能。