Create (or update) a FIFO queue with FifoThroughputLimit=perMessageGroupId and DeduplicationScope=messageGroup; these two attributes must be set together — enabling one without the other keeps the queue in standard throughput mode
Send messages with distinct MessageGroupId values to distribute load across multiple message groups; throughput scales with the number of active message groups
Set MessageDeduplicationId on each send request, or enable ContentBasedDeduplication on the queue to auto-derive a deduplication ID from the message body via SHA-256
Consume using ReceiveMessage with a VisibilityTimeout appropriate for your processing time; a consumer holds the lock on a message group while it has an in-flight message from that group
Use batch send (SendMessageBatch) and receive (ReceiveMessage with MaxNumberOfMessages up to 10) to maximise throughput per API call
Monitor ApproximateNumberOfMessagesNotVisible to detect message-group stalls from long visibility timeouts or consumer crashes
Known gotchas
With deduplication scope set to messageGroup, duplicate detection is per message group, not across the whole queue; a message with the same deduplication ID but a different group ID is not considered a duplicate
A message group is effectively locked to one consumer at a time; if a consumer crashes without deleting the message, no other consumer can process that group until the visibility timeout expires
High-throughput mode requires FIFO queue; standard queues do not have this setting and have no ordering or deduplication guarantees
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp