ThingsBoard Professional Edition Node Microservice
ThingsBoard is an IoT platform for data collection, processing, visualization, assets and devices management. It enables device connectivity via industry standard IoT protocols: MQTT, CoAP and HTTP. ThingsBoard combines scalability, fault-tolerance, and performance so you will never lose your data.
ThingsBoard Professional Edition is a closed-source advanced version of open-source ThingsBoard IoT platform with several significant value-add features.
ThingsBoard node is a core service written in Java that is responsible for handling:
- REST API calls;
- WebSocket subscriptions on entity telemetry and attribute changes;
- Processing messages via rule engine;
- Monitoring device connectivity state (active/inactive).
ThingsBoard node uses Akka actor system to implement tenant, device, rule chains and rule node actors. Platform nodes can join the cluster, where each node is equal. Service discovery is done via Zookeeper. ThingsBoard nodes route messages between each other using a consistent hashing algorithm based on entity id. So, messages for the same entity are processed on the same ThingsBoard node. Platform uses gRPC to send messages between ThingsBoard nodes.
See official product page and msa architecture for more details.