rabbiTMQuest
RabbitMQ + Telegraf + QuestDB Stack for AMQP / MQTT PubSub Systems
rabbITMQuest
-----
|-- QuestDB 5.0.3
-
|-- Telegraf v1.18
---
|-- RABBITMQ 3.8
Architecture
Components
-
RabbitMQ Message Broker: A powerful messaging broker that can broker with a lot of well-known Protocols namely MQTT, AMQP, STOMP etc.
-
Telegraf: A powerful agent to help collect metrics. A software Swiss-Knife.
-
QuestDB: A Blazing Fast Time-Series Database that queries and processes data before you could say rabbitMQuest.
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 QuestDB
Usage
The Repository provides the rabbiTMQuest Stack with basic security
Stack Name | Security |
---|---|
prototype |
basic level passwords |
NOTE: refer to prototype
directory since it 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.