Я использую RabbitMQ для своего устройства IOT для передачи sh данных на сервер. С RabbitMQ я использую сервис nodejs для подписки данных с определенных топи c. Для большей доступности я использую автоматическое масштабирование для этой услуги. Когда служба масштабируется в зависимости от ее требований, она может запускаться в 2 или 3 случаях. Поскольку это 2 или 3 экземпляра, он будет подписывать одни и те же сообщения от topi c несколько раз. Как я могу предотвратить это (несколько экземпляров, подписывающихся на одну и ту же топику c, не получают дубликатов). Один экземпляр прочитанного сообщения должен удалить из RabbitMQ topi c Как мне решить эту проблему?
Пожалуйста, предложите:
Мой код такой, как этот:
var mqtt = require('mqtt');
var clientId = 'mqttjs_' + Math.random().toString(16).substr(2, 8)
var client = mqtt.connect({
clientId: clientId,
host: "mqtt.host.co",
port: 8883,
'username': "user_name",
'password': "password",
protocol: 'mqtt.MQTTv311',
resubscribe: true
});
// for topics starting at topic_name/
client.subscribe('topic_name/#', { qos: 0 })