ApsaraMQ for RabbitMQ Professional, Enterprise, and Platinum Edition instances use subscription billing. Each bill has two components: a required instance specification fee (subscription) and an optional elastic TPS fee (pay-as-you-go, charged only when enabled).
Billable items
| Item | Billing method | When charged |
|---|---|---|
| Instance specification | Subscription (prepaid) | Always -- included in every subscription |
| Elastic TPS | Pay-as-you-go (postpaid) | Only if you enable the elastic TPS feature |
Instance specification billing
Instance specification fees are billed monthly on a subscription basis. The following table lists each billable item, the editions it applies to, and any included free quota.
| Billable item | Required | Applicable editions | Free quota |
|---|---|---|---|
| Peak TPS | Yes. Charged only when billable API operations are called. See TPS counting rules. | Professional, Enterprise, Platinum | None |
| Internet traffic | No. Charged only if you enable Internet access. | Professional, Enterprise, Platinum | None |
| Number of queues | Yes | Professional, Enterprise, Platinum | Enterprise and Platinum editions include a free quota. For details, see the buy page. |
| Maximum connections | Yes | Enterprise, Platinum | Enterprise and Platinum editions include a free quota. For details, see the buy page. |
| Message trace retention period | No. Charged only if you enable message trace. | Professional, Enterprise, Platinum | Platinum Edition: 15-day retention included at no cost |
| Message storage space | Yes | Platinum | None |
For pricing details, see the ApsaraMQ for RabbitMQ buy page.
TPS counting rules
Billable API operations
The following API operations count toward your TPS. For details about each operation, see Request methods.
| Category | Operations |
|---|---|
| Connection and channel | ConnectionOpen, ChannelOpen |
| Queue management | QueueDeclare, QueueDelete, QueueBind, QueueUnbind |
| Exchange management | ExchangeDeclare, ExchangeDelete, ExchangeBind, ExchangeUnBind |
| Message operations | SendMessage, SendDlqMessage, BasicConsume, BasicGet, BasicAck, BasicReject, BasicNack, BasicRecover |
Counting rules
Delayed messages
Delayed messages are a premium feature of ApsaraMQ for RabbitMQ. Sending a delayed message counts as five API calls. Consuming a delayed message counts as one API call.
Example: If you send 2 delayed messages and consume 3 in one second, the total TPS is 13.
TPS = (2 × 5) + 3 = 13SendMessage counting based on routing
SendMessage calls are counted by the number of queues that receive the message after routing, not by the number of publish calls.
Example: If you publish one message to a Fanout exchange bound to 10 queues, that single publish counts as 10 SendMessage calls.
Large message bodies
A message body of 64 KB or smaller counts as one request. For bodies larger than 64 KB, each additional 4 KB (or fraction thereof) counts as one extra request.
Example: A 72 KB message body = 1 base request + 2 additional requests (8 KB excess / 4 KB per additional request) = 3 requests total.
Elastic TPS billing
How elastic TPS works
Each instance has a peak TPS limit defined by its specification. Traffic that exceeds this limit is throttled. To handle burst traffic without throttling, enable the elastic TPS feature. For more information, see Enable the elastic TPS feature for an instance.
After you enable elastic TPS, the instance can temporarily exceed its base peak TPS within a defined range. You pay only for the TPS that exceeds the base specification.
Billing rules
| Item | Description |
|---|---|
| What is billed | TPS exceeding the base peak TPS specification. Incremental TPS = Maximum runtime TPS - Base peak TPS specification. For example, if an instance has a base peak TPS of 5,000 and the runtime TPS reaches 6,200, the incremental TPS is 1,200. |
| Billing method | Pay-as-you-go (postpaid). Fees are automatically deducted from your Alibaba Cloud account. |
| Billing cycle | Per minute |
| Formula | Elastic TPS fee per minute = Incremental TPS per minute x Unit price of elastic TPS |
Unit prices and elastic TPS limits
| Item | Professional Edition | Enterprise Edition | Platinum Edition |
|---|---|---|---|
| Maximum elastic TPS | 0.5x the base specification | 1x the base specification, up to 50,000 TPS | 1x the base specification, up to 50,000 TPS |
| Unit price - most regions (USD/TPS/min) | 0.000072 | 0.000072 | 0.000288 |
| Unit price - UAE (Dubai) (USD/TPS/min) | 0.000144 | 0.000144 | 0.000576 |
| Unit price - SAU (Riyadh - Partner Region) (USD/TPS/min) | 0.000086 | 0.000086 | 0.000346 |
"Most regions" in the preceding tables refers to all regions where ApsaraMQ for RabbitMQ is available, except for the SAU (Riyadh - Partner Region) region. For a list of supported regions, see Supported regions.
The maximum elastic TPS for Enterprise and Platinum editions is capped at 50,000, regardless of the base specification. For example, an Enterprise Edition instance with a base peak TPS of 80,000 still has a maximum elastic TPS of 50,000, giving it a total peak TPS of 130,000.
Billing example
The following example shows how elastic TPS fees are calculated for a Professional Edition instance in the China (Hangzhou) region with a base specification of 1,000 TPS over one hour.
| Minute | 00 | 01 | 02 | 03 | 04-57 | 58 | 59 |
|---|---|---|---|---|---|---|---|
| Actual peak TPS | 1,200 | 1,300 | 800 | 850 | All below 1,000 | 950 | 1,100 |
| Incremental TPS (excess over 1,000) | 200 | 300 | 0 | 0 | 0 | 0 | 100 |
Only three minutes had TPS above the 1,000 base specification: minute 00 (200 excess), minute 01 (300 excess), and minute 59 (100 excess).
Elastic TPS fee = (200 + 300 + 100) × 0.000072 = USD 0.0432