All Products
Search
Document Center

ApsaraMQ for MQTT:Billing of Basic Edition and Enterprise Platinum Edition instances

Last Updated:Oct 28, 2024

This topic describes the billable items and pricing of ApsaraMQ for MQTT Basic Edition and Enterprise Platinum Edition instances.

Billing overview

ApsaraMQ for MQTT instances can be classified into Basic Edition and Enterprise Platinum Edition. For information about the differences between the editions, see Instance editions.

The billing methods and billable items of Basic Edition instances and Enterprise Platinum Edition instances are the same. The following table describes the billing methods and billable items.

Billable item

Billing method

Billing cycle

Connections

Subscription

An upfront payment is required based on the purchased specification and subscription duration before you can use an instance.

Monthly

Messaging transactions per second (TPS)

Subscriptions

Billing formula:

Instance fees = (Price of the connection specification + Price of the messaging TPS specification + Price of the subscription specification) × Subscription duration (months)

Connections

Description

Connections refer to the number of client connections to an instance over TCP at a specific point in time. The number of connections is a transient value. The value is updated every minute.

Make sure that you select a specification that provides more connections than the maximum number of active connections under normal business conditions. Otherwise, throttling may be triggered, and some clients may fail to connect to the service.

Example

The number of active connections to Instance_A is 1,000 at 10:00 and 2,000 at 10:01. To ensure that the service can run as expected, you must purchase a specification that provides more than 2,000 connections. For example, you can purchase a specification that provides 5,000 connections.

Unit prices

Instance edition

Connection specification

Price (USD per month)

Basic Edition

1,000

29

5,000

142

10,000

284

20,000

567

50,000

1,417

100,000

2,833

Enterprise Platinum Edition

100,000

3,852

300,000

11,329

500,000

18,805

1,000,000

37,836

2,000,000

75,446

Messaging TPS

Description

Messaging TPS is the total number of messages produced and consumed per second in a specific instance. Messaging TPS is updated every minute.

Make sure that you select a specification that provides higher messaging TPS than the peak messaging TPS under normal business conditions. Otherwise, throttling may be triggered, and some messages may fail to be sent or received.

Calculation rules

  • When you calculate the messaging TPS, include only the messages that are sent and received by using ApsaraMQ for MQTT. Do not include messages that are sent and received by using ApsaraMQ for RocketMQ.

  • If the broker fails to push a message for which the QoS parameter is set to 1 and the cleanSession parameter is set to false, the message is stored as an offline message and retried after a period of time. In this case, the message is counted as one subscription message.

  • Take the coefficient into consideration. The coefficient is calculated based on the values of the QoS and cleanSession parameters. For more information, see Calculation coefficients.

    For example, if you set the QoS parameter to 2 and the cleanSession parameter to true on the client, the corresponding coefficient is 5. In this case, if the client produces 10 messages, when you calculate the messaging TPS, the number of produced messages is counted as 50 based on the following formula: 10 × 5 = 50.

Example

An instance contains five topics and each topic is subscribed to by 100 clients whose coefficients are all 2. The producer sends 20 messages to each topic.

The number of messages that are sent and received on the instance is 20,200 based on the following formula: Number of sent and received messages = (Number of topics × Number of messages in each topic + Number of topics × Number of messages in each topic × Number of subscriptions) × Coefficient = (5 × 20 + 5 × 20 × 100) × 2 = 20,200.

Unit prices

Instance edition

Messaging TPS specification

Price (USD per month)

Basic Edition

1,000

284

5,000

1,417

10,000

2,833

20,000

5,665

Enterprise Platinum Edition

20,000

5,211

50,000

7,930

100,000

12,009

200,000

18,125

500,000

42,368

Note

ApsaraMQ for MQTT no longer supports the messaging TPS specification with 100 TPS. Existing ApsaraMQ for MQTT instances with this specification can be used as expected. If you upgrade an existing instance, you cannot roll back to this specification.

Subscriptions

Description

Subscriptions refer to the subscriptions that are registered and retained on a specific instance.

Make sure that you select a specification that provides more subscriptions than the peak number of subscriptions under normal business conditions. Otherwise, throttling may be triggered, and some messages may fail to be sent or received.

We recommend that you delete subscriptions that are no longer required to save system resources. For more information, see Clear subscriptions for a topic.

Calculation rules

  • The system collects one sample every second based on a 1-minute cycle. The maximum value among the 60 samples is used.

    For example, in a 1-minute cycle, the number of subscriptions in the first second is 30, the next second is 20, the third second is 30, and the 60th second is 50. If the maximum value within the 1-minute cycle is 50, the number of subscriptions in the minute is 50.

  • Each subscription to an ApsaraMQ for MQTT topic by a client is counted as one subscription, regardless of the messaging scenario.

  • If a client subscribes to a topic and the subtopics of the topic, the subscriptions to the topic and the subtopics must be separately calculated.

    For example, if Client_1 subscribes to Topic A and subtopics TopicA/sub_1 and TopicA/sub_2, the number of subscriptions is three.

  • ApsaraMQ for MQTT brokers maintain topic subscriptions for clients based on the Message Queuing Telemetry Transport (MQTT) protocol. If the cleanSession parameter is set to true on a client, the broker clears all topic subscriptions for the client when the client is disconnected. If the cleanSession parameter is set to false on a client, the broker retains and calculates all topic subscriptions for the client even if the client is disconnected.

Example

  • Topic A, Topic B, and Topic C are created on Instance_A, and 10 clients are connected to the broker.

  • Each of the 10 clients sends messages to Topic A, Topic B, and Topic C, and each client subscribes to only Topic A and Topic B for message consumption.

In this case, the number of subscriptions is 20 based on the following formula: 10 × 2 = 20.

Unit prices

Instance edition

Subscription specification

Price (USD per month)

Basic Edition

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

Enterprise Platinum Edition

100,000

1,586

500,000

7,477

1,000,000

15,180

2,000,000

30,133

5,000,000

75,446