Kafka и RabbitMQ basics

Draft

Базовое понимание очередей и брокеров сообщений для QA: что важно в асинхронных системах и где там обычно рождаются дефекты.

Содержание

Kafka и RabbitMQ — популярные инструменты для асинхронного обмена сообщениями. Для QA это важная зона риска: когда данные не передаются мгновенно по схеме request-response, появляется больше состояний, ретраев, задержек и сложностей в диагностике.

Что меняется в асинхронной модели

  • Отправка события не означает немедленный результат для пользователя.
  • Между producer и consumer может быть задержка, повторная доставка или сбой обработки.
  • Появляются вопросы идемпотентности, порядка сообщений и повторной обработки.

Что важно QA

  • Проверять, дошло ли событие до нужного consumer.
  • Проверять, что сообщение не потерялось и не обработалось дважды без защиты.
  • Смотреть на dead-letter queues, retries и compensating behavior.
  • Понимать, какое состояние допустимо как временное, а какое уже является дефектом.

Типовые дефекты

  • Сообщение не отправилось или не было обработано.
  • Одно и то же сообщение вызвало побочный эффект несколько раз.
  • Сервис обработал события в неправильном порядке.
  • Система показывает “успех”, хотя downstream processing ещё не завершён или уже упал.

Асинхронные системы требуют от QA терпения и точности: здесь важно проверять не только конечный результат, но и путь данных между компонентами.