Amazon MQ

awsQueueaws-mq

Managed Apache ActiveMQ or RabbitMQ message broker with standard wire protocols and optional multi-AZ deployment.

Provider
aws
Kind
Queue
Category
Messaging
Properties · 5 set by this component
propertytypevaluesrequiredkind defaultthis component
backoffenumnone | fixed | exponential | exponential-jitterno—inherited
deadLetterQueueboolean—nofalseinherited
deliveryenumat-most-once | at-least-once | exactly-onceyes—▸ at-least-once
deploymentMode · component propertyenumsingle-instance | active-standby-multi-az | cluster-multi-azno—inherited
encryptionAtRest · component propertyboolean—notrueinherited
engine · component propertyenumactivemq | rabbitmqnoactivemqinherited
instancesinteger—no—inherited
managedboolean—nofalse▸ true
maxAttemptsinteger—no—inherited
orderingenumnone | per-key | globalnononeinherited
persistenceboolean—notrue▸ true
replayboolean—nofalse▸ false
retentionDaysinteger—no—inherited
roleenumwork | dlq | retry | offline-mailbox | frontiernowork▸ work
storageType · component propertyenumefs | ebsno—inherited
tlsRequired · component propertyboolean—notrueinherited
Rules that apply · 3

Every rule whose selector covers this component's kind or its category. Whether a rule fires depends on the design: its properties, its edges and its groups.

queue-missing-dlq

A queue that receives asynchronous traffic and has no dead-letter queue either drops poison messages or retries them forever. Neither outcome leaves anything for a human to investigate.

  • — all of these hold:
  • — the node's `deadLetterQueue` is false
  • — the node has at least one asynchronous incoming edge
retry-queue-without-dlq

A retry queue is where poison messages end up. With no dead-letter queue they are retried forever or dropped in silence, and nobody ever looks at the failed payment.

  • — all of these hold:
  • — the node's `role` is "retry"
  • — the node's `deadLetterQueue` is false
retry-without-backoff

Retrying a transient failure at full speed turns one slow dependency into a retry storm. A retry queue backs off, preferably exponentially and with jitter.

  • — all of these hold:
  • — the node's `role` is "retry"
  • — any of these hold:
  • — the node's `backoff` has no value
  • — the node's `backoff` is "none"
Use it in a design
nodes:
  - { id: "mq", component: "aws-mq" }
Other Queue products · 23
Source
# yaml-language-server: $schema=../../schema/component.schema.json
# Amazon MQ: managed Apache ActiveMQ Classic or RabbitMQ broker; AWS runs maintenance and version
# upgrades in a scheduled window. "Data protection in Amazon MQ" says data is always encrypted at
# rest (Amazon MQ owned KMS key by default) and TLS is required for all client connections;
# "Deployment options" shows a broker is one instance in one AZ unless you pick active/standby.
schemaVersion: "1"
type: "component"
id: "aws-mq"
kind: "queue"
provider: "aws"
docs: "https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/welcome.html"
defaults:
  managed: true
  delivery: "at-least-once"
  persistence: true
  replay: false
  role: "work"
properties:
  engine:
    type: "enum"
    values: ["activemq", "rabbitmq"]
    default: "activemq"
  deploymentMode:
    type: "enum"
    values: ["single-instance", "active-standby-multi-az", "cluster-multi-az"]
  storageType:
    type: "enum"
    values: ["efs", "ebs"]
  encryptionAtRest:
    type: "boolean"
    default: true
  tlsRequired:
    type: "boolean"
    default: true

The same page as markdown, for an agent: /catalogue/components/aws-mq.md