О курсе

Интенсив 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.