Max_inflight_messages Mosquitto: окно передачи отличается от очереди ожидания
Фотография конкретного исполнения не приложена.
Max_inflight_messages ограничивает число исходящих QoS 1/2 сообщений, одновременно проходящих передачу и подтверждения, включая повторные попытки. Это окно активного обмена. Очередь сверх него регулируется другими параметрами, поэтому увеличение inflight не является тем же действием, что увеличение ёмкости хранения для отсутствующего подписчика.
Малое окно может ограничить скорость на канале с большой задержкой, большое — увеличить число одновременно незавершённых передач. Руководство отдельно связывает значение 1 с доставкой в порядке сообщений. Такой параметр выбирают по реальному требованию и измерению задержки, без предположения, что максимальная величина всегда улучшает работу.
Порядок MQTT-доставки не описывает все последующие действия получателя. Если приложение раскладывает сообщения по параллельным задачам, результаты записи или расчётов могут появляться иначе. Поэтому требование к порядку конечного архива нужно проверять на всей цепочке, сохраняя идентификаторы и исходную последовательность событий.
В приёмке используют нумерованный тестовый поток, задержку подтверждений и согласованное восстановление канала. Сравнивают окно передачи, ожидающую очередь и порядок прикладного результата. Быстрый приход нескольких сообщений или успешные QoS-подтверждения не доказывают, что конечный потребитель обработал их в нужной последовательности.
Основание — Eclipse Mosquitto official unversioned documentation snapshot; Download index observed 2.1.2, разделы max_inflight_messages; max_inflight_bytes. Сохранён текст публичной справочной публикации; конкретная реализация может поддерживать только часть возможностей. Реальный брокер, его сборка, плагины и сеть не испытывались. Изменения конфигурации, учётных записей и прав не выполнялись; поддержку параметров проверяют по установленной версии.