Basic and Platinum Edition instances of ApsaraMQ for MQTT are billed based on maximum connections, message TPS, and subscription relationships under the subscription billing method.
Billing overview
ApsaraMQ for MQTT provides Basic, Platinum instances. For more information about the differences between these instance editions, see Instance editions.
The Basic and Platinum Edition instances share the same billing methods and billable items. The billable items are as follows:
|
Billable item |
Billing method |
Billing cycle |
|
Subscription A prepaid billing method. You are billed based on the specifications and duration you select. |
Month |
|
The formula for calculating the instance fee is:
Instance fee = (Unit price for maximum connections + Unit price for maximum message TPS + Unit price for maximum subscription relationships) × Subscription duration (months)
Maximum connections
Billable item details
Connections refer to the number of TCP connections from clients to an instance at any given time. The connection count is sampled and updated every minute.
Make sure the maximum connections you purchase exceeds the actual peak number of concurrent connections for your service. Otherwise, throttling may cause some clients to fail to connect.
Example
At 10:00, instance instance_a has 1,000 concurrent connections. At 10:01, it has 2,000 concurrent connections. To ensure normal service operation, you must purchase a maximum connections specification greater than 2,000, such as 5,000.
Unit prices
|
Instance Type |
Maximum connections |
Price (USD/month) |
|
Basic Edition instance |
1,000 |
29 |
|
5,000 |
142 |
|
|
10,000 |
284 |
|
|
20,000 |
567 |
|
|
50,000 |
1,417 |
|
|
100,000 |
2,833 |
|
|
Platinum Edition instance |
100,000 |
3,852 |
|
300,000 |
11,329 |
|
|
500,000 |
18,805 |
|
|
1,000,000 |
37,836 |
|
|
2,000,000 |
75,446 |
Maximum message TPS
Billable item details
Message TPS (Transactions Per Second) is the sum of messages produced and consumed per second on an instance. This value is updated every minute.
Make sure the maximum message TPS you purchase exceeds the actual peak TPS for your message production and consumption. Otherwise, throttling may cause some messages to fail to be sent or received.
Calculation rules
-
Message TPS includes only messages sent and received through ApsaraMQ for MQTT. It does not include messages sent and received through ApsaraMQ for RocketMQ.
-
For messages with QoS level 1 and cleanSession set to false, if the server-side push fails, the message is stored as an offline message for retry. This retry counts as one message consumption.
-
When calculating message TPS, the value is multiplied by a billing multiplier based on the QoS level. For more information, see Billing multipliers.
For example, if a client uses QoS 2 and cleanSession=true, the billing multiplier is 5. If the client produces 10 messages, the number of produced messages for billing is calculated as 10 × 5 = 50.
Example
Assume there are 5 topics. A producer sends 20 messages to each topic. Each topic has 100 subscribers. All clients use the same QoS level, and the billing multiplier is 2.
The total number of billable messages is calculated as: (Messages produced + Messages consumed) × Billing multiplier = ((5 × 20) + (5 × 20 × 100)) × 2 = 20,200 messages.
Unit prices
|
Instance type |
Maximum message TPS (messages/second) |
Price (USD/month) |
|
Basic Edition instance |
1,000 |
284 |
|
5,000 |
1417 |
|
|
10,000 |
2,833 |
|
|
20,000 |
5,665 |
|
|
Platinum Edition instance |
20,000 |
5,211 |
|
50,000 |
7,930 |
|
|
100,000 |
12,009 |
|
|
200,000 |
18,125 |
|
|
500,000 |
42,368 |
ApsaraMQ for MQTT no longer supports the 100 TPS specification. Existing instances purchased with this specification can continue to be used. However, once you upgrade an instance, you cannot downgrade it back to this specification.
Maximum subscription relationships
Billable item details
The number of subscription relationships is the total number of topic subscriptions registered and retained on an instance.
Make sure the maximum subscription relationships you purchase exceeds the actual number required by your service. Otherwise, throttling may cause some clients to fail to subscribe.
Calculation rules
-
The statistical period for the number of subscription relationships is one minute. The system samples the value once per second and takes the maximum of the 60 samples.
For example, within a 1-minute period, if the number of subscription relationships is 30 in the first second, 20 in the next second, and reaches a peak of 50 in the 60th second, the number of subscription relationships for that minute is 50.
-
The subscription relationship count is based on each client (Client ID) subscribing to each ApsaraMQ for MQTT topic. It is independent of message sending.
-
A single client's subscriptions to a parent topic and its child topics are counted separately.
For example, if client Client_1 subscribes to TopicA, TopicA/sub_1, and TopicA/sub_2, the number of subscription relationships is 3.
-
Per the MQTT protocol, when a client sets cleanSession=true, the server clears all of the client's topic subscriptions after the client goes offline. If cleanSession=false, the server retains the client's topic subscriptions, and these count toward the subscription relationship total.
Example
-
Instance Instance_A has three topics: TopicA, TopicB, and TopicC. A total of 10 clients are connected to the server.
-
Each of the 10 clients produces messages to TopicA, TopicB, and TopicC. Each client subscribes only to TopicA and TopicB to consume messages.
In this scenario, the number of subscription relationships is 10 × 2 = 20.
Unit prices
|
Instance edition |
Maximum subscription relationships |
Price (USD/month) |
|
Basic Edition instance |
1,000 |
12 |
|
10,000 |
114 |
|
|
50,000 |
567 |
|
|
100,000 |
1,133 |
|
|
200,000 |
2,266 |
|
|
500,000 |
5,665 |
|
|
1,000,000 |
11,329 |
|
|
Platinum Edition instance |
100,000 |
1,586 |
|
500,000 |
7477 |
|
|
1,000,000 |
15,180 |
|
|
2,000,000 |
30133 |
|
|
5,000,000 |
75,446 |