diff --git a/_data/mqtt-broker/docs-home.yml b/_data/mqtt-broker/docs-home.yml index 93df138554..5a6ec4a7c6 100644 --- a/_data/mqtt-broker/docs-home.yml +++ b/_data/mqtt-broker/docs-home.yml @@ -39,6 +39,8 @@ toc: path: /docs/mqtt-broker/user-guide/ui/users/ - title: Mail Server path: /docs/mqtt-broker/user-guide/ui/mail-server/ +- title: Subscriptions + path: /docs/mqtt-broker/subscription/ - title: Troubleshooting path: /docs/mqtt-broker/troubleshooting/ - title: Release Notes diff --git a/_layouts/pricing.html b/_layouts/pricing.html index 3e56b01aeb..db82a98868 100644 --- a/_layouts/pricing.html +++ b/_layouts/pricing.html @@ -96,7 +96,7 @@ } function setActivePricingSection(sectionId) { - var activateSelectProduct = sectionId === 'thingsboard-pe-options' || sectionId === 'trendz-options'; + var activateSelectProduct = sectionId === 'thingsboard-pe-options' || sectionId === 'trendz-options' || sectionId === 'mqtt-broker-options'; $("li.menu-item").removeClass("active"); $("li.menu-item#menu-item-"+sectionId).addClass("active"); hidePricingContent(); diff --git a/docs/contact-us.md b/docs/contact-us.md index 45c118d111..94848dae55 100644 --- a/docs/contact-us.md +++ b/docs/contact-us.md @@ -100,6 +100,7 @@ notitle: "true" + diff --git a/docs/mqtt-broker/subscription.md b/docs/mqtt-broker/subscription.md new file mode 100644 index 0000000000..4556060fb4 --- /dev/null +++ b/docs/mqtt-broker/subscription.md @@ -0,0 +1,187 @@ +--- +layout: docwithnav-mqtt-broker +title: TBMQ Private Cloud plans definition +description: Features and advantages of TBMQ Private Cloud payment model + +--- + +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 nameLaunchGrowthScaleEnterpriseDescription
Sessions2K4K20KUnlimitedMaximum 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/sec1K2K10KUnlimitedTotal 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.
Integrations51050UnlimitedMaximum number of persistent Application clients and +Integrations managed by the broker, including both connected and temporarily disconnected ones
Monthly traffic100GB200GB1TBUnlimitedMonthly 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
Device persistent messages rate limits50100500UnlimitedTotal 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
Application topic size1 GB1 GB1 GBUnlimitedMaximum 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 TTL1 day1 day1 dayUnlimitedTime-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 size1 GB1 GB1 GBUnlimitedMaximum 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 TTL1 day1 day1 dayUnlimitedTime-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
Device persisted messages storage50100500UnlimitedMaximum 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 TTL1 day1 day1 dayUnlimited"Time to live" parameter for messages stored for Device persisted clients while they are offline
Stats TTL1 month1 month1 monthUnlimited"Time to live" parameter for statistics persistence. This includes metrics visible on the UI: sessions, subscriptions, incoming messages, outgoing messages, etc.
Session TTL1 day1 day1 dayUnlimited"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 limitUp to 10 per second, not exceeding 300 per minuteUp to 10 per second, not exceeding 300 per minuteUp to 10 per second, not exceeding 300 per minuteUnlimitedTotal number of incoming messages per publisher client with any Quality of Service (QoS) level
Client outgoing messages rate limitUp to 10 per second, not exceeding 300 per minuteUp to 10 per second, not exceeding 300 per minuteUp to 10 per second, not exceeding 300 per minuteUnlimitedTotal number of outgoing messages per non-persistent subscriber client with Quality of Service (QoS) level equal to 0 ("AT_MOST_ONCE")
In-flight messages100100100UnlimitedMaximum 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 messages100100100UnlimitedMaximum 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 size1 MB1 MB1 MBUnlimitedMaximum 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 SLA99.9%99.9%99.95%CustomRepresents 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. diff --git a/pricing/index.md b/pricing/index.md index 5ed89ef612..284fed81a5 100644 --- a/pricing/index.md +++ b/pricing/index.md @@ -50,6 +50,9 @@ selfManagedPlan: + @@ -85,6 +88,25 @@ selfManagedPlan: +
@@ -1103,6 +1125,179 @@ selfManagedPlan: + + + +

Frequently asked questions

@@ -1151,7 +1346,7 @@ selfManagedPlan:

-
+

Customer may cancel the subscription and purchase a perpetual license. @@ -1168,7 +1363,7 @@ selfManagedPlan:

-
+

It can be your advantage for a quick start with the platform. These 10 hours can be used for consulting, training, or development services. Training sessions imply pre-defined topics, while Consulting may cover various technical questions, platform configurations, or your Use Case-related issues. The above services are conducted online. Alternatively, these 10 hours can be used to support you in the PoC, MVP, or ready-for-market solutions development by a dedicated development unit from ThingsBoard. @@ -1182,7 +1377,6 @@ selfManagedPlan:

-

@@ -1354,5 +1548,71 @@ selfManagedPlan:

+

TBMQ

+
+
+

+ Dedicated plan features the deployment of a dedicated MQTT broker cluster on the ThingsBoard cloud, expertly managed by the TBMQ team. + The cluster comprises several TBMQ nodes, ensuring high availability and uninterrupted service. + A dedicated load balancer is included to seamlessly distribute your incoming traffic across multiple targets. + Additionally, each plan includes sessions and message limits, as well as persistence limits to store essential data during offline periods. + It provides a 99.99% uptime SLA. Focus on your solution while we manage the servers for you on our cloud. +

+
+
+
+
+

+ BYOC (Bring Your Own Cloud) deployment option allows you to leverage your existing cloud infrastructure while integrating our powerful MQTT broker cluster. + This flexibility ensures that you can maintain control over your cloud environment, optimize costs, and meet specific regulatory or compliance requirements. + The TBMQ team is responsible for managing the cluster and providing technical support. +

+
+
+
+
+

+ TMPS refers to the total number of messages processed per second by the TBMQ cluster. + This metric includes both incoming and outgoing messages but counts only 'MQTT PUBLISH' packets. + For instance, if you have 100 devices each sending 10 messages per second, the incoming volume would be 1,000 messages per second. + If there are 2 subscribers consuming these messages, resulting in 2,000 outgoing messages per second, the TMPS would be 3,000. + TMPS provides a comprehensive measure of the messaging throughput handled by the TBMQ cluster, ensuring efficient and reliable communication for your IoT applications. +

+
+
+
+
+

+ Application client is a specialized type of client designed for scenarios with high message subscription volumes. + It uses a dedicated message queue and consumer to ensure high performance and enables message persistence when the subscriber is offline. + This makes it well-suited for scenarios where reliable message delivery is necessary, and message loss is unacceptable. +

+
+
+
+
+

+ Device client is a standard type of client that can be configured to be persistent or non-persistent based on the connection settings. + Persistent device messages are stored in a database while their corresponding device subscribers are offline. + The limit for device persistent messages is configured per TBMQ cluster, rather than per individual client, ensuring efficient resource management. +

+
+
+
+
+

+ For BYOC (Bring Your Own Cloud) deployment, contact us to discuss your specific needs and preferences. + We will work with you to determine the required infrastructure, load patterns, and cloud options that best suit your environment. + Additionally, we will assess your cluster requirements and Service Level Agreement (SLA) needs to ensure optimal performance and reliability. +

+
+
+
+
+

+ Yes, TBMQ subscriptions have sessions, messages, and storage limits. See subscription documentation for more details. +

+
+
diff --git a/pricing/pricing.sass b/pricing/pricing.sass index 4ecc6f443c..b4c51af7aa 100644 --- a/pricing/pricing.sass +++ b/pricing/pricing.sass @@ -66,6 +66,19 @@ html#pricing font-size: 14px line-height: 18px + #mqtt-broker-dedicated + h5 + width: 100% + font-size: 18px + font-weight: 600 + letter-spacing: -0.32px + text-align: center + line-height: 24px + color: rgba(0,0,0,0.54) + span + font-size: 14px + font-weight: 400 + .faq-content padding: 60px 30px 80px * + h2, * + h3, * + h4, * + h5, * + h6 @@ -351,7 +364,7 @@ html#pricing height: 28px margin-right: 5px margin-top: 5px - &.thingsboard-cloud, &.trendz-cloud + &.thingsboard-cloud, &.trendz-cloud, &.mqtt-broker-dedicated &:before content: "" display: inline-block @@ -362,7 +375,7 @@ html#pricing width: 28px height: 28px margin-right: 10px - &.thingsboard-pe, &.trendz-self-managed + &.thingsboard-pe, &.trendz-self-managed, &.mqtt-broker-byoc &:before content: "" display: inline-block @@ -576,8 +589,8 @@ html#pricing @media (min-width: 992px) font-size: 14px @media (min-width: 1200px) - font-size: 18px - padding: 14px 32px 14px 24px + font-size: 16px + padding: 14px 22px 14px 18px &:before margin-right: 12px width: 38px @@ -661,4 +674,4 @@ html#pricing @media (max-width: 992px) #pricingContent .container max-width: unset - width: 100% \ No newline at end of file + width: 100%