Привет!

Это кладовая сообщества по заработку в Интернете. Присоединяйтесь, чтобы обмениваться знаниями, опытом. Для начала, надо зарегистрироваться.

Добро пожаловать в наше сообщество.

Зарегистрироваться!

Скачать QA-интенсив: Тестирование микросервисной архитектуры [Stepik] [Сергей Яушев]

Сен
180.137
648.521
Platinum
Администратор
Складчина: QA-интенсив: Тестирование микросервисной архитектуры [Stepik] [Сергей Яушев]



Кратко и по делу. Микросервисы - живой стенд: один раз поднял и проходишь от контейнеров до Grafana по шагам. Пройдём весь путь от кнопки «Оформить заказ» до логов и трассировки. Необходимая теория, а дальше практика «где смотреть и как найти проблему по цепочке». Пошаговые ТЗ и схемы под каждый этап - без перегруза.

Чему вы научитесь

Ориентироваться в микросервисной системе: понимать, какие сервисы есть, кто с кем общается, где что лежит (контейнеры, порты, папки проекта).
Вызывать API и проверять результат в БД: создавать заказ через Swagger/Postman, находить запись в таблице orders в PostgreSQL через pgAdmin.
Работать с очередями сообщений: заходить в RabbitMQ UI, находить сообщения по traceId/orderId, понимать цепочку «202 → очередь → воркер → БД».
Работать с топиками Kafka: открывать Kafka UI, смотреть топики payment_requests и order-events, прослеживать один заказ по traceId в обоих брокерах (RabbitMQ и Kafka).
Искать по одному заказу в логах и трейсах: в Loki — по traceId логи всех сервисов, в Tempo — цепочку вызовов по Trace ID для Tempo (otelTraceId); расследовать сбой или убедиться, что поток прошёл успешно.
Связывать в одну картину: один заказ = один traceId в API, в очередях, в топиках, в логах и в трейсе — без страха «а где это смотреть».
О курсе
Краткое описание курса

Обучение идёт по этапам: каждый следующий добавляет один слой (БД, очередь, топики, мониторинг).

На каждом этапе — короткие лекции (5–10 мин) и в конце этапа срез (проверка / домашнее задание)

Этап 1 — Старт

Обзор: что будем разбирать (фронт, заказ, оплата).


Вводная по архитектуре: где что лежит, порты, схемы.
Как запустить стенд (docker compose).
ТЗ и схемы.

Этап 2 — База, контейнеры, API и логи


Контейнеры и порты (docker-compose.yml).
API заказов (Swagger).
База данных PostgreSQL
Логи в контейнерах и поиск по traceId

Этап 3 — RabbitMQ


Зачем очередь между сервисами.
RabbitMQ в проекте: очереди order_requests и payment_results.
Типичные ошибки RabbitMQ

Этап 4 — Kafka


Чем Kafka отличается от RabbitMQ
Kafka UI: топики
Типичные ошибки Kafka

Этап 5 — Grafana, Loki и Tempo


Зачем единое окно для логов и трейсов.
Как логи попадают в Loki.
Поиск по traceId в Loki.
Трейсы в Tempo и Trace ID для Tempo (otelTraceId).
Связка логов и трейса. .

Рекомендуется конспектировать видео для подготовки к собеседованиям.

Для кого этот курс

Ручные тестировщики, которые хотят разобраться в микро сервисной архитектуре не «по картинкам», а в живой системе: где что смотреть, как проследить один сценарий от начала до конца. Специалисты, которым нужно проверять сценарии в системе с очередями (RabbitMQ), топиками (Kafka), логами и трейсами (Grafana, Loki, Tempo) и при этом не теряться. Те, кто хочет ориентироваться в проекте: контейнеры, порты, API, БД, веб-интерфейсы брокеров — без обязательного углубления в код и настройку инфраструктуры.

Начальные требования
Обязательно:

Уметь открыть терминал (командную строку) и выполнить команду (перейти в папку, ввести команду, прочитать вывод).

Иметь установленный и запущенный Docker (Docker Desktop или Docker Engine). Стенд поднимается одной командой `docker compose up -d`.
Желательно (но не блокер):

Понимать на базовом уровне, что такое API и HTTP (есть URL, запрос, ответ в виде JSON). Коды 202, 500 и т.д. разбираем по ходу.
Не пугаться слова «база данных» — мы не пишем SQL с нуля, только подключаемся к PostgreSQL через pgAdmin и смотрим таблицу.
Иметь представление, что такое «логи» (сообщения приложения о своих действиях).
Не требуется:

Глубоко знать Docker (достаточно `docker compose up -d` и `docker compose ps`).
Писать код — курс про ориентирование, вызов API, просмотр очередей, топиков и логов.
Заранее знать RabbitMQ, Kafka или Grafana — всё вводится по шагам.

Компьютер: рекомендуется не менее 8 GB RAM (лучше 16 GB), 4 ядра CPU, 10 GB свободного места на диске — стенд запускает много контейнеров.

Как проходит обучение

Лекции — короткие блоки по 5–10 минут

Пошаговое погружение:


сначала контейнеры, API и БД;
потом добавляем RabbitMQ;
затем Kafka; в конце - Grafana, Loki, Tempo.

Срезы в конце каждого этапа - практические задания после блока лекций:


создать заказ, найти в БД;
найти сообщение в RabbitMQ;
найти traceId в RabbitMQ и Kafka;
найти заказ в Loki и Tempo.
Сначала объясняю "как», потом делаешь самостоятельно.

Стенд у ученика: один раз поднимается локально (docker compose), все интерфейсы доступны на localhost. Можно повторять демо и задания у себя после лекции.

Документация: план лекций, описание микросервисов, ТЗ по этапам, схемы, словарик, сценарии неполадок, чек-лист готовности — всё в есть в курсе.

При необходимости можно запросить поддержку в курсе - я подскажу и отвечу. Порешаем

Программа курса
1. Приветствие

Приветствие
Глоссарий/Словарь терминов
Требования к компьютеру
2. Знакомство с арихитектурой

Собираем проект
Вводная архитектура
Техническое задание
Срез по ТЗ
Где что живёт: контейнеры и порты
API заказов: что можно вызвать
Где хранятся заказы: база данных
Поиск логов в контейнерах
Успешный заказ
Заказ с учебной ошибкой
Срез Этап 2
3. RabbitMQ

Очереди.Теория
Зачем очередь между сервисами
Техническое задание + RabbitMQ
RabbitMQ в нашем проекте: что куда кладётся
RabbitMQ: публикация сообщения напрямую в очередь
RabbitMQ: публикация сломанного сообщения напрямую в очередь
Как читать RabbitMQ
Ack Nack при ручной проверке
Типичные ошибки RabbitMQ
Срез Этап 3
4. Kafka

Чем Kafka отличается от RabbitMQ
Kafka UI топики, сообщения и функции для тестировщика
Kafka UI практика
Типичные ошибки Kafka
Срез. Этап 4.
5. Grafana

Зачем единое окно для логов и трейсов
Как логи попадают в Loki
Поиск по traceId в Loki
Трейсы в Tempo
Универсальный чек-лист (справочник)
6. Завершение курса

Напутствие
Что вы получаете

Уверенно ориентироваться в микросервисной системе: понимать, какие сервисы за что отвечают, кто с кем общается, где смотреть данные (порты, интерфейсы, контейнеры).
Работать с очередями и топиками: заходить в RabbitMQ UI и Kafka UI, находить нужные сообщения, связывать их с заказом и с поведением на фронте; понимать, что такое 202 и почему результат приходит позже.
Расследовать сбои по логам и трейсам: искать в Grafana (Loki) все логи по одному заказу по traceId и открывать цепочку вызовов (трейс) в Tempo по Trace ID для Tempo — формулировать, в каком сервисе ошибка или что поток прошёл успешно.
Применять подход в новых проектах: тот же принцип - «один запрос = один идентификатор по всей цепочке» — переносится на другие микросервисные системы; вы будете знать, куда смотреть и какие вопросы задавать.






СЛИВЫ КУРСОВ
 
Сверху