Drone X

QoS и очередь: почему сообщения теряются

5 блок(ов) теории · 12 заданий · 165 баллов

QoS (Quality of Service, «качество обслуживания») — правила доставки сообщений между издателем и подписчиком: что делать с сообщением, пока оно ждёт, гарантировать ли доставку, как поступать при перегрузке. Depth уже мелькал третьим аргументом create_publisher в модуле 3 — теперь его полный смысл. Очередь — сердце QoS: топик хранит историю последних depth сообщений (FIFO — «первым пришёл, первым ушёл»), и подписка вынимает их в колбэк в порядке публикации. Когда история заполнена, каждое новое сообщение вытесняет самое старое: очередь — не архив, а скользящее окно свежести. Отсюда главная фраза темы: сообщения теряются не только «из-за сети» — их теряет переполненная очередь, когда потребитель не успевает за издателем.

Честная граница мока: исполняется только depth; остальные политики QoS (надёжность, долговечность) в этом курсе — теория, и текст модуля помечает это отдельно. И памятка из М1, здесь она главная: depth в моке принадлежит топику — глубину фиксирует первый создатель (издатель или подписка), в реальном ROS 2 очереди у каждой стороны свои.

Глубина очереди — компромисс «актуальность ↔ полнота». Телеметрия (заряд, спутники): значение устаревает за секунду, полнота не нужна — depth 1. События-триггеры (смена режима, потеря линка): короткая серия, потерять нельзя — depth 1–5 даёт запас. Команды пилоту: пропуск недопустим, поток редкий — depth 10. Журнал-лог: история для разбора полётов — глубина побольше. Правило чтения: чем дороже потеря сообщения, тем глубже очередь.

Надёжность — вторая ось QoS, в курсе только концептом: reliable подтверждает доставку и повторяет передачу, пока сообщение не дойдёт; best-effort шлёт без гарантий — быстрее, но с потерями. Видеопоток и телеметрия чаще живут на best-effort: пропущенный кадр или устаревший замер дешевле задержки от повторов; команды и журнал выбирают надёжную сторону. Несовместимость политик (QoS-mismatch) — ошибка реального ROS 2: издатель best-effort при подписчике reliable не соединится, обратная пара совместима. В моке этого класса ошибок нет: исполняется только depth — ни ручек надёжности, ни конфликтов политик; всё, что выше depth, курс проверяет словами, а не кодом.

Задания

0/12 заданий · 0/165 баллов

1. Что такое QoS: природа политик доставки

10 балл(ов)

Первый вопрос темы. Собеседник спрашивает: «QoS (Quality of Service) — это что?» Выберите вариант, который верно называет природу QoS и объясняет, почему это не скорость сети и не размер пакета.

1 / 12