Чему вы научитесь
- Ориентироваться в микросервисной системе: понимать, какие сервисы есть, кто с кем общается, где что лежит (контейнеры, порты, папки проекта).
- Вызывать 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, в очередях, в топиках, в логах и в трейсе — без страха «а где это смотреть».
О курсе
Для кого этот курс
Начальные требования
Обязательно:
- Уметь открыть терминал (командную строку) и выполнить команду (перейти в папку, ввести команду, прочитать вывод).
- Открывать ссылку в браузере (все интерфейсы — по адресам вида http://localhost:3000, :8080, :5050 и т.д.).
- Иметь установленный и запущенный 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. Можно повторять демо и задания у себя после лекции.
Документация: план лекций, описание микросервисов, ТЗ по этапам, схемы, словарик, сценарии неполадок, чек-лист готовности — всё в есть в курсе.
При необходимости можно запросить поддержку в курсе - я подскажу и отвечу. Порешаем
Сертификат
Что вы получите
- Уверенно ориентироваться в микросервисной системе: понимать, какие сервисы за что отвечают, кто с кем общается, где смотреть данные (порты, интерфейсы, контейнеры).
- Работать с очередями и топиками: заходить в RabbitMQ UI и Kafka UI, находить нужные сообщения, связывать их с заказом и с поведением на фронте; понимать, что такое 202 и почему результат приходит позже.
- Расследовать сбои по логам и трейсам: искать в Grafana (Loki) все логи по одному заказу по traceId и открывать цепочку вызовов (трейс) в Tempo по Trace ID для Tempo — формулировать, в каком сервисе ошибка или что поток прошёл успешно.
- Применять подход в новых проектах: тот же принцип - «один запрос = один идентификатор по всей цепочке» — переносится на другие микросервисные системы; вы будете знать, куда смотреть и какие вопросы задавать.