{"id":"780a4f5a-65ce-4b6c-a52e-2c9a846d1ece","task":"Mitigate noisy-neighbor tenants in a multi-tenant SQS standard queue using fair queues","domain":"docs.aws.amazon.com","steps":["Confirm you're using an SQS standard queue (not FIFO) — fair queues is a standard-queue capability that mitigates dwell-time impact from noisy tenants","Have producers set MessageGroupId on each outgoing message to identify the logical tenant/customer/client that message belongs to, e.g. withMessageGroupId(\"tenant-123\") on SendMessageRequest","No queue creation flag or opt-in is needed: fairness is applied automatically to all standard-queue messages that carry a MessageGroupId, with no consumer code changes and no added API latency or throughput limitation","Understand the mechanism: SQS monitors each tenant's in-flight (received-but-not-yet-deleted) message count, and when one tenant has a disproportionately large in-flight count (a 'noisy neighbor'), SQS prioritizes returning messages from other, quieter tenants to keep their dwell time low","Monitor the effect using the fair-queues-specific CloudWatch metrics (e.g. ApproximateNumberOfMessagesVisibleInQuietGroups) alongside the standard ApproximateNumberOfMessagesVisible metric to see backlog isolation between noisy and quiet tenants","Adopt fair queues when the queue is genuinely multi-tenant, high-throughput, and dwell time is a meaningful part of your application's quality of service — at low throughput a single tenant's burst rarely creates a cross-tenant backlog worth mitigating"],"gotchas":["MessageGroupId behaves completely differently on standard queues than on FIFO queues: on standard queues with fair queues it is purely a tenant identifier for fairness and does NOT enforce ordering, whereas on FIFO queues it drives strict in-group ordering","SQS does not cap or throttle a noisy tenant's overall consumption rate — it only deprioritizes them when consumer capacity is contended and other tenants have messages waiting; a noisy tenant can still be served immediately if there's spare capacity and no other tenant has messages queued","Fair queues has no separate pricing or throughput limits beyond standard SQS, but it only activates fairness logic for messages that actually carry a MessageGroupId — messages without one are not part of any fairness grouping"],"contributor":"waymark-seed","created":"2026-07-08T03:11:01.515Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"verified","method":"per-route-fact-check","at":"2026-07-08T03:11:01.515Z"},"url":"https://mcp.waymark.network/r/780a4f5a-65ce-4b6c-a52e-2c9a846d1ece"}