#python #mqtt #paho
#python #mqtt #paho
Вопрос:
Я оцениваю клиенты python MQTT для использования в среде, где потеря данных может быть чрезвычайно дорогостоящей. Поскольку протокол MQTT поддерживает QOS 2, и мы знаем, что наш брокер сообщений хорошо справляется с этим в отношении сохраняющихся очередей сообщений и состояний сеанса на диске.
Но для клиента у нас возникает немного больше проблем с обеспечением достоверной отправки сообщений. Хотя мы мало что можем сделать с полной потерей клиентского компьютера (поврежденный диск и т. Д.), Мы хотим убедиться, что более простые проблемы (такие как перезапуск процесса издателя или подписчика) не приведут к потере данных.
Глядя на клиент Paho MQTT, я не вижу никакого очевидного способа создать paho.mqtt.client.Client
такой, чтобы он мог продолжить с того места, где остановился предыдущий.
Если это невозможно, мне были бы интересны любые подсказки о клиентах, которые могут этого добиться.
Ответ №1:
Клиент Paho Python не поддерживает сохранение сообщений / сеансов для сообщений с высоким QOS в очереди, но клиент Paho Java поддерживает.
В качестве примечания, я уверен, что проект Paho приветствовал бы запрос на извлечение, чтобы добавить поддержку сохранения для клиента Python.