TBMQ provides dedicated Private Cloud plans based on the pay-as-you-go model.
Limits
Please see table below to compare the limits of the Private Cloud plans. The values are monthly limits, unless stated otherwise.
Parameter name | Launch | Growth | Scale | Enterprise | Description |
Sessions | 2K | 4K | 20K | Unlimited | Maximum number of client sessions managed by the broker, including both active connections and persistent sessions that are temporarily disconnected but still maintained by the broker for quick reconnection. Once a session is expired or explicitly removed, it no longer counts toward the session limit and the slot becomes available for a new session |
Total msg/sec | 1K | 2K | 10K | Unlimited | Total throughput of messages processed per second, including both incoming and outgoing `MQTT_PUBLISH` packets. It does not include acknowledgment packets used in QoS 1 and 2 flows (such as `PUBACK`, `PUBREC`, etc.), nor other MQTT control packets like `CONNECT`, `SUBSCRIBE`, `UNSUBSCRIBE`, etc. |
Monthly traffic | 100GB | 200GB | 1TB | Unlimited | Monthly traffic refers to the total amount of data transmitted through the TBMQ broker, including both incoming and outgoing MQTT messages. Traffic is measured as the sum of all MQTT packet payloads sent and received by clients. If the monthly allowance is exceeded, additional usage is billed at $0.15 per GB |
Applications / Integrations | 5 | 10 | 50 | Unlimited | Maximum number of persistent Application clients and Integrations managed by the broker, including both connected and temporarily disconnected ones |
Application topic size | 1 GB | 1 GB | 1 GB | Unlimited | Maximum size of the Kafka topic used to store persisted messages for a disconnected Application client. Each client has a dedicated topic, and messages are retained until delivered or the size limit is reached |
Application topic TTL | 1 day | 1 day | 1 day | Unlimited | Time-to-live for messages stored in Kafka topics for Application clients. If a client remains disconnected beyond this period, undelivered messages will be discarded automatically |
Integration topic size | 1 GB | 1 GB | 1 GB | Unlimited | Maximum size of the Kafka topic used to store persisted messages for a disconnected Integration. Each Integration has a dedicated topic, and messages are retained until delivered or the size limit is reached |
Integration topic TTL | 1 day | 1 day | 1 day | Unlimited | Time-to-live for messages stored in dedicated Kafka topics for each Integration. If the Integration remains disconnected beyond this period, undelivered messages will be automatically discarded |
Message rate limits for default ('Device') persistent sessions | 50 per second | 100 per second | 500 per second | Unlimited | Total number of messages processed per second for all Device clients with persistent sessions. These clients are subscribers, and if they are offline, the messages are stored in Redis to be delivered when they reconnect |
Messages storage for default ('Device') persistent sessions | 100 per session | 200 per session | 1K per session | Unlimited | Maximum number of messages that can be stored for each Device client with a persistent session while it is offline. Once the limit is reached, older messages are dropped to make room for new ones |
Device persisted messages TTL | 1 day | 1 day | 1 day | Unlimited | "Time to live" parameter for messages stored for Device persisted clients while they are offline |
Stats TTL | 1 month | 1 month | 1 month | Unlimited | "Time to live" parameter for statistics persistence. This includes metrics visible on the UI: sessions, subscriptions, incoming messages, outgoing messages, etc. |
Session TTL | 1 day | 1 day | 1 day | Unlimited | "Time to live" parameter for persistent session that is disconnected. If a client remains disconnected beyond this duration, its session data will be automatically removed from the broker |
Client incoming messages rate limit | Up to 10 per second, not exceeding 300 per minute | Up to 10 per second, not exceeding 300 per minute | Up to 10 per second, not exceeding 300 per minute | Unlimited | Total number of incoming messages per publisher client with any Quality of Service (QoS) level |
Client outgoing messages rate limit | Up to 10 per second, not exceeding 300 per minute | Up to 10 per second, not exceeding 300 per minute | Up to 10 per second, not exceeding 300 per minute | Unlimited | Total number of outgoing messages per non-persistent subscriber client with Quality of Service (QoS) level equal to 0 ("AT_MOST_ONCE") |
In-flight messages per publisher | 100 | 100 | 100 | Unlimited | Maximum number of incoming QoS 1 and QoS 2 messages from a publisher that can be awaiting acknowledgment. Acknowledgment is sent after the message is successfully persisted by the broker. If this limit is exceeded, the client is disconnected to prevent overload |
Client pre-connect messages | 100 | 100 | 100 | Unlimited | Maximum number of messages the broker will queue per client during the connection handshake phase. If this limit is exceeded before the client completes the connection, the client will be disconnected |
Message size | 1 MB | 1 MB | 1 MB | Unlimited | Maximum size of the payload in an MQTT_PUBLISH packet that the broker will accept. Larger messages will be rejected unless using the Enterprise plan with custom limits |
Uptime SLA | 99.9% | 99.9% | 99.95% | Custom | Represents the percentage of time a broker is expected to be fully operational and accessible |
where “K” means 1 thousand, “M” means 1 million, “B” means 1 billion.