Collector modules
BellaDati IoT Data Collector consists of 3 modules:
- Audit - provides licensing and management services to other modules
- provides auditing services and provides status of receivers and sensors
- recognizes and cooperates with all receivers and senders that are deployed on the same local machine or on remote machines
- It automatically recognizes other modules, that are running on the same machine or on different servers
- Receiver - is responsible for receving data from IoT devices, eventually to expose endpoints to collect data. It provides authentication and message verification mechanims to ensure the data security. There are several modes, in wich the Receiver can operate:
- MQTT broker - module is running as MQTT broker, which allows devices to either subscribe or publish messages to it
- MQTT consumer - module subscribes to existing MQTT broker and receives messages from it
- HTTP POST consumer - module accepts HTTP POST request with data from devices
- Telnet server/client - module is running as telnet server or telnet client
- Websockets server/client - module - module is running as Websockets server or client
- Sender - is used to read data from receiver and conditionally execute automated actions, for example:
Send data to the BellaDati backend over REST API
Send data to 3rd party systems using HTTP protocol
Send email
Save data to file
Publish MQTT messages to the MQTT broker
Scalability and distributed processing
BellaDati IoT Data Collector is build on top of native clustering and distribution approach. Messages are distributed among the modules running in a computer cluster, which allowshorizontal scaling of processing and available storage. Message backups are also distributed among particular modules to protect against failure of any single module. BellaDati IDC provides central, predictable scaling of applications through in-memory access to frequently used data and across an elastically scalable data grid.
Microservices based architecture
Overview
Content Tools