Как да интегрирам MQTT брокер с mongoDB?
Публикувам gps координати от клиент към брокера и бих искал да ги съхраня в MQTT брокер с mongoDB,
Ще се радвам, ако някои насоки бъдат споделени за същото
Как да интегрирам MQTT брокер с mongoDB?
Публикувам gps координати от клиент към брокера и бих искал да ги съхраня в MQTT брокер с mongoDB,
Ще се радвам, ако някои насоки бъдат споделени за същото
Търсих наоколо и не намерих подходящо решение за себе си, затова създадох едно: https://github.com/izmailoff/mqtt-mongo.
Вижте README за всички подробности. По същество това е самостоятелна услуга, която се свързва с MQTT брокер и MongoDB и се абонира за темите, които ви интересуват. Можете да изберете колекция за всяка тема в конфигурацията.
Целите на дизайна са да имате устойчива, лека и бърза услуга, която можете също да персонализирате с код в Java/Scala или всеки JVM език, който поддържа такава интеграция.
Вероятно най-простият начин би бил да използвате Node-Red (http://nodered.org)
Ако полезният товар на MQTT е json обект, който вече е в правилния формат, тогава един входен възел на MQTT, свързан с възел на mongodb, ще направи това.
Ако трябва да промените полезния товар, преди да го вмъкнете, можете да включите функционален възел, за да го преназначите.
Ако искате вашият брокер директно да съхранява съобщението надеждно в базата данни, можете да използвате HiveMQ и да напишете MongoDB плъгин. Концепцията е описана в тази публикация в блог.
Друга идея би била да използвате абонат със заместващ знак, който получава всички съобщения и ги съхранява в MongoDB. Това няма да е директна интеграция, но ще работи, ако не искате да мащабирате.
Това е стар въпрос, но трябваше да направя нещо подобно. Имам абонат, който се абонира за темите, които искам да запазя в mongo. Той просто записва съобщенията в db. Все още не съм разгледал проблема с мащабирането. Но в моята ситуация мога да разделя тези съобщения въз основа на теми.