ApsaraMQ for RabbitMQ
Managed AMQP 0-9-1 broker compatible with the open-source RabbitMQ clients.
- Provider
- alibabacloud
- Kind
- Queue
- Category
- Messaging
| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| backoff | enum | none | fixed | exponential | exponential-jitter | no | — | inherited |
| deadLetterQueue | boolean | — | no | false | inherited |
| delivery | enum | at-most-once | at-least-once | exactly-once | yes | — | ▸ at-least-once |
| instances | integer | — | no | — | inherited |
| managed | boolean | — | no | false | ▸ true |
| maxAttempts | integer | — | no | — | inherited |
| ordering | enum | none | per-key | global | no | none | inherited |
| persistence | boolean | — | no | true | ▸ true |
| protocol | enum | amqp-0-9-1 | no | amqp-0-9-1 | inherited |
| replay | boolean | — | no | false | inherited |
| retentionDays | integer | — | no | — | inherited |
| role | enum | work | dlq | retry | offline-mailbox | frontier | no | work | inherited |
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 queue without backoffwarning
retry-without-backoffRetrying 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"
nodes:
- { id: "rabbitmq", component: "alibaba-rabbitmq" }Simple Message Queue (formerly MNS)alibaba-mnsApsaraMQ for RocketMQalibaba-rocketmqAmazon MQaws-mqAmazon SQSsqsAzure Queue Storageazure-queue-storageAzure Service Busazure-service-busCloudflare Queuescloudflare-queuesApache ActiveMQactivemqGearmangearmanIBM MQibm-mqMessage queuemessage-queueNSQnsqApache Qpid Broker-JqpidGeneric queuequeueRabbitMQrabbitmqRedis queueredis-queueSolace PubSub+ Event BrokersolaceTIBCO Enterprise Message Servicetibco-emsGoogle Cloud Tasksgoogle-cloud-tasksIBM Cloud Messages for RabbitMQibm-messages-for-rabbitmqIBM MQ on Cloudibm-mq-on-cloudOCI Queueoci-queueOpenStack Zaqaropenstack-zaqar
# yaml-language-server: $schema=../../schema/component.schema.json # ApsaraMQ for RabbitMQ: a managed AMQP 0-9-1 broker compatible with the open-source RabbitMQ # clients ("What is ApsaraMQ for RabbitMQ"). RabbitMQ acknowledges and redelivers, so delivery is # at-least-once; queues are durable. A dead letter exchange is set per queue. schemaVersion: "1" type: "component" id: "alibaba-rabbitmq" kind: "queue" provider: "alibabacloud" docs: "https://www.alibabacloud.com/help/en/apsaramq-for-rabbitmq" defaults: managed: true delivery: "at-least-once" persistence: true properties: protocol: type: "enum" values: ["amqp-0-9-1"] default: "amqp-0-9-1"