О курсе
Интенсив DevHands рассматривает асинхронное взаимодействие через очереди: подходы, свойства и гарантии. В программе заявлено сравнение Kafka, RabbitMQ, NATS и Redis — их архитектура, отличия, особенности конфигурирования и критерии выбора под задачу.
Отдельное внимание уделено Apache Kafka: архитектуре, основным понятиям, потоковой обработке с Kafka Streams и сценариям применения. Практическая часть включает пошаговый запуск Kafka от single instance до отказоустойчивого кластера, разбор настроек кластера и базовую реализацию клиентов на Python и Go.
В программе также рассматривается достижение консистентности между базой данных и очередью: Transactional Outbox и deduplication key. Практическое задание — реализация сценария оплаты между двумя базами PostgreSQL с использованием очереди.
Обзор архитектуры NATS включает ключевые подходы и компоненты (pub/sub, req/res, streaming), а также кластеризацию: кластер, суперкластер, федерация, edge. Практика — запуск суперкластера и разбор сценариев.
Формат: живые лекции и демо с ведущим Владимиром Перепелицей, запись встреч выкладывается в чат. Доступ к настроенной инфраструктуре для практических заданий предоставляется с первого занятия, также можно забрать докер-образ. Встречи проходят в Zoom, начало в 17:00 МСК. Продолжительность — 2,5 недели, две встречи в неделю.
Что рассматривается в программе
- Рассматривается архитектура и принципы работы брокеров и очередей
- Разбирается сравнение Kafka, RabbitMQ, NATS и Redis
- Изучается Apache Kafka: архитектура, настройки кластера, Kafka Streams
- Практика запуска Kafka от single instance до отказоустойчивого кластера
- Работа с клиентами Kafka на Python и Go
- Рассматривается достижение консистентности между БД и очередью: Transactional Outbox, deduplication key
- Изучается архитектура NATS: pub/sub, req/res, streaming, кластеризация
- Практика запуска суперкластера NATS
Кому может быть полезен курс
- Разработчикам, которые хотят ознакомиться с архитектурой брокеров и очередей сообщений
- Специалистам, интересующимся Apache Kafka и NATS
- Тем, кто работает с Python или Go и хочет изучить практику использования очередей
- Инженерам, которым нужно разобраться в консистентности между БД и очередью
Вопросы о программе
Какие системы очередей рассматриваются в программе?
В программе заявлено сравнение Kafka, RabbitMQ, NATS и Redis, а также более детальное изучение Apache Kafka и NATS.
На каких языках программирования выполняется практика?
Практические задания по работе с очередями предлагается выполнять на Python или Golang.
Какой формат и продолжительность обучения?
Интенсив длится 2,5 недели, встречи проходят два раза в неделю в Zoom, начало в 17:00 МСК. Ведутся записи, ссылка выкладывается в чат.
Что входит в практическую часть?
Среди практических заданий: запуск Kafka в различных конфигурациях, реализация клиентов на Python и Go, сценарий оплаты между двумя базами PostgreSQL с использованием очереди, запуск суперкластера NATS.