This topic provides answers to frequently asked questions (FAQ) about the billing and usage of Message Queue for MQTT.

Billing

Why are fees still deducted from my account balance after I send a message in the case that I purchased a subscription Message Queue for MQTT instance?

Your payment for the subscription Message Queue for MQTT instance can be used to deduct only the fees incurred when you use Message Queue for MQTT to transmit messages over the Message Queuing Telemetry Transport (MQTT) protocol and to store messages. However, your payment for the subscription instance cannot be used to deduct the fees incurred when you use topics in your Message Queue for Apache RocketMQ instance and use Message Queue for Apache RocketMQ to make API calls over other protocols such as TCP.

Usage

Q1: What do I do if I receive an alert text message that indicates an invalid group ID?

Cause:

To access Message Queue for MQTT, you must first create a group in the console for your Message Queue for MQTT client and then specify the group ID in the client code. If a group that has not been created in the console is used, the Message Queue for MQTT client may be disconnected and fail to send and receive messages.

Suggestions:

If the alert text message notifies you of an invalid group ID, log on to the Message Queue for MQTT console. In the left-side navigation pane, click Groups to check whether the group is created. If the group is not created, create it first. Make sure that the group ID complies with the naming rules.

Q2: What do I do if I receive an alert text message indicating that the number of stored offline messages exceeds the system limit?

Cause:

Message Queue for MQTT limits the number of offline messages that are stored in each instance. For more information about the limit, see Limits. If the number of offline messages exceeds the limit due to improper subscription settings of your Message Queue for MQTT clients, the system deletes the offline messages from the earliest one until the number falls under the limit.

Suggestions:

  • Check whether the cleanSession parameter is set to false and QoS1 is used for the corresponding Message Queue for MQTT clients, based on the instance ID in the alert text message.
  • Check whether most of the Message Queue for MQTT clients are offline.
  • Check whether messages are still sent to the offline Message Queue for MQTT clients.
  • If the cleanSession parameter is set to false, change the value of cleanSession from false to true and submit a ticket to ask the customer service to clean the wrong data.
Note

Set the cleanSession parameter to false when a client uses the same client ID each time it goes online and the client needs to obtain the messages that it failed to receive during the offline period. Set the cleanSession parameter to true if the client ID changes each time the client goes online or the client offline state does not affect your business. For more information, see Terms.

Q3: What do I do if a Message Queue for MQTT client is unexpectedly disconnected?

Cause:

  • When a Message Queue for MQTT client sends Publish and Subscribe packets to the Message Queue for MQTT broker, the broker authenticates the client. If the authentication fails, the client is disconnected.
  • The Message Queue for MQTT clients that use the same client ID to access Message Queue for MQTT are forcibly disconnected.

Suggestions:

Make sure that each client ID is globally unique and that different Message Queue for MQTT clients do not use the same client ID to connect to Message Queue for MQTT. In addition, define the reconnection logic.

Q4: What do I do if the messages of a subscribed topic that is no longer needed are still pushed?

Cause:

Subscriptions in the MQTT protocol are persistent. Therefore, if you do not need to subscribe to a topic, call the unsubscribe method to cancel the subscription.

Q5: Why are messages of some topics not received?

Cause:

The number of subscriptions available for each Message Queue for MQTT client is limited. For more information, see Limits. If a Message Queue for MQTT client attempts to subscribe to more topics than this limit, messages of the topics that exceed the limit are discarded and cannot be received.