You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »

BellaDati IoT Data Collector is distributed microservices based application implemented in Java utilizing proven frameworks Hazelcast and Vert.x.

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 receives data from IoT devices, eventually subscribes the data published by external services. It provides authentication and message verification mechanims to ensure the data security and integrity. There are several modes, in which the Receiver can operate:
    • MQTT broker  - module is running as MQTT broker, which allows devices to either subscribe or publish messages to it
    • MQTT subscribe - 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 distributed storage approach.
  • Messages are distributed among the modules running in a computer cluster, which allows horizontal scaling of processing and available storage.
  • Message backups are also distributed among particular modules to protect against failure of any single module.
  • BellaDati IoT Data Collector provides central, predictable scaling of applications through in-memory access to frequently used data and across an elastically scalable data grid.

 

 

 

Microservices based architecture

  • No labels