thingsboard / tbmq

Open-source, scalable, and fault-tolerant MQTT broker able to handle 4M+ concurrent client connections, supporting at least 3M messages per second throughput per single cluster node with low latency delivery. The cluster mode supports more than 100M concurrently connected clients.
https://thingsboard.io/products/mqtt-broker/
Apache License 2.0
570 stars 46 forks source link

[Question] how do I use TBMQ with TBPE on Docker? #89

Closed skewty closed 8 months ago

skewty commented 8 months ago

I checked https://thingsboard.io/docs/user-guide/install/pe/docker/ but it doesn't even mention TBPE.

I read the source code of the python IoT GW and it seems to have shared / mapped-at-runtime topics such as "v1/devices/me" and also: "v1/gateway".

I'd like to use TBMQ with TBPE so the MQTT broker can be shared with other services (on-prem).

dmytro-landiak commented 8 months ago

hey @skewty !

Thanks for reaching out with the question. I would recommend reviewing the following article about how to connect TBMQ with TB PE. https://thingsboard.io/docs/mqtt-broker/user-guide/integrations/how-to-connect-thingsboard-to-tbmq/

For now, it is the only option on how to integrate these two platforms, as they are separate ones and can live one apart from another.

Additionally, review the installation options for TBMQ: https://thingsboard.io/docs/mqtt-broker/install/installation-options/

In case you have any more questions, let me know. Regards!

skewty commented 8 months ago

Thank you for the prompt reply dmytro-landiak.

If my understanding of your reply is correct TBMQ cannot be used to "replace" the built-in MQTT broker of TBPE.

This is very disappointing. The non-essential bolt on "integration" is just another point of failure and of little interest to us.

dmytro-landiak commented 8 months ago

@skewty, your understanding is correct. For now, we are concentrating on developing TBMQ as an independent platform but we aim to create a more sophisticated solution for the integration of TBMQ and Thingsboard (ce/pe) in the future. For now, could I ask you about the feedback on why you wanted to have a TBMQ as a replacement for build-in MQTT transport inside Thingssboard? Is there anything that blocks you from covering your use cases/requirements by using TB PE only (as I understand that using TBMQ and connecting it to TB PE through the MQTT integration is not what you want to use)?

skewty commented 8 months ago

When MQTT broker is the core of many integrations any crash would be known to many quickly because so many systems stop working. This is essential for many on-prem deployments where cloud is not permitted and the site IT staff are of low skill level and or not involved in the day-to-day maintenance of the MQTT / ThingsBoard system.

Currently we have ThingsBoard at the core. We have a handful of complex, custom gateways that hook into it and intercommunicate using persistent RPC. Various critical bugs in ThingsBoard have made this a troublesome path to follow.

ThingsBoard issue board is in an egregious state and developers seem to largely ignore new issues.

APIs / documentation are often inaccurate / incorrect -- fake updated using scripts to search replace strings:

With MQTT at the core and SparkPlug B support being introduced our gateways could get their data from MQTT and do RPC through MQTT without the ThingsBoard weak-point in-between and still use ThingsBoard for what it is good at.

ThingsBoard is great for many things but for life safety systems I would rather MQTT at the core than a complex system like ThingsBoard.

dmytro-landiak commented 8 months ago

@skewty, thank you for the feedback. This will be discussed internally to be able to improve our services and support.

If you have any more questions or if I can help you with something else somehow, please let me know.

dmytro-landiak commented 8 months ago

@skewty, I am closing this issue as resolved. Please reopen it if you have more questions or create a new issue. Thanks!