Skip to content

Latest commit

 

History

History
60 lines (38 loc) · 1.88 KB

README.md

File metadata and controls

60 lines (38 loc) · 1.88 KB

rabbITMQ

RabbitMQ + InfluxDB v2 + Telegraf Stack for AMQP / MQTT PubSub Systems

rabbITMQ
     -
     |-- Telegraf v1.18
    -
    |-- InfluxDB 2.0
---
 |-- RABBITMQ 3.8

Architecture

rabbITMQ Basic Architecture

Components

  1. RabbitMQ Message Broker: A powerful messaging broker that can broker with a lot of well-known Protocols namely MQTT, AMQP, STOMP etc.

  2. Telegraf: A powerful agent to help collect metrics. A software Swiss-Knife.

  3. InfluxDB: An awesome Time-Series Database that does a lot for you.

MQTT -> AMQP Bridging

RabbitMQ Provides the MQTT v3.1.1 in-built plugin and provides an internal mechanism to convert MQTT Topics into AMQP Queue bindings quite easily. Documentation

Example

MQTT Topic AMQP Queue
IOT/sensorID/temp IOT.sensorID.temp

Hence, Publish with MQTT, Consume with AMQP and no need to write exclusive services / scripts to store it into InfluxDB

Usage

The Repository is a Work In Progress (WIP) and provides the rabbITMQ Stack with different levels of security

Stack Name Security
prototype basic level passwords
selfsigned with Self-Signed Certs

NOTE: Each directory has its own README.md and SHOULD be referred to for initial configuration / customization

Commands

docker-compose -f prototype/docker-compose.prototype.yml up

License

MIT License

Contributing

Please use GitHub Issues for queries, bugs etc. and feel free to open Pull-Requests for improvements, bug fixes etc.