Hello everyone,
We are using RabbitMQ to gather telemetry information from a number of devices.
Devices
use MQTT protocol to publish their state (we use rabbitmq_mqtt plugin),
on the other side our back-end system reads this information via AMQP
(and possibly publishes some information back to devices via MQTT).
We
also need to log what is going on on the broker (ideally, every package
sent from devices to the server and vice versa should be logged).
We
wrote a script in Python which subscribes to # topic via MQTT, receives
every message that appears on the broker, extracts its content and
writes it to the log file).
We understand that an additional
subscription keeps all the messages alive until they are received by all
subscribers (both server and diagnostic script).
In the administration web app we also can see that deliver rate is twice higher than publish rate:
--
You received this message because you are subscribed to the Google Groups "rabbitmq-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rabbitmq-user...@googlegroups.com.
To post to this group, send email to rabbitm...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "rabbitmq-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rabbitmq-user...@googlegroups.com.
To post to this group, send email to rabbitm...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "rabbitmq-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rabbitmq-user...@googlegroups.com.
To post to this group, send email to rabbitm...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
I've done two tests with qos=0:
1) one MQTT producer / one MQTT consumer -- consumer is keeping up.n
2) one MQTT producer / two MQTT consumers (messages are fanned out) -- consumers can't keep up; messages are piling up on the queues.
I used Paho Java client against Rabbit 3.6.2; prefetch of 1,000 in both cases, and messages were dropped upon receipt by the consumers, so no overhead.
Same arrangement using AMQP works just fine -- consumers are keeping up. Same arrangement with few other MQTT brokers works fine too.
I wonder if something's up with the MQTT plug-in, or how it interacts with the Paho client ...