Курс посвящён проектированию и эксплуатации систем с event-driven архитектурой: от базовых принципов и моделирования коммуникаций до эволюции, мониторинга и принятия архитектурных решений.
Что входит в курс:
- 5 лонгридов. Даже не просто лонгридов, а подробных материалов, которые можно использовать как справочник. Первый материал — 58 страниц формата А4. Материалы написаны последовательно и подробно, с разбором возможных вопросов и альтернативных решений.
- Дополнительные материалы. К каждому лонгриду собраны книги, статьи и видео с пояснениями, зачем и в каком контексте их изучать. Материалов достаточно для самостоятельного развития и углубления знаний после курса.
- Онлайн-встречи с разбором домашних заданий. Раз в неделю проходят встречи в Zoom, на которых Антон разбирает ключевые паттерны из домашних заданий: типичные ошибки, нестандартные решения и интересные подходы. Встречи проходят в формате живого диалога: можно задать вопрос, обсудить свой кейс и получить совет.
- Финальная Q&A-сессия. В конце обучения проводится встреча в Zoom, где можно задать оставшиеся вопросы, обсудить неясные моменты и поделиться инсайтами.
Программа курса
Неделя 1. База по event-driven
Познакомимся с учебной системой и её проблемами.
Разберём базовые понятия курса: что такое система, чем EDA отличается от микросервисов с асинхронной коммуникацией и с чего начинать, когда в наследство достался распределённый монолит.
На выходе научитесь определять события в системе с помощью EventStorming, поймёте, почему события — хорошо, а команды — плохо, научитесь выбирать брокер и понятно именовать события.
Ключевые концепции и термины:
- Event-driven architecture
- Event-driven communications
- Coupling и cohesion
- Командный и реакционный подход к коммуникациям
- EventStorming
- Гранулярность событий
- Распределённые очереди и распределённые логи
- Fine/Coarse события
- Kafka
Неделя 2. Углубляемся в коммуникации
В прошлом уроке мы определили связи, основываясь на функции системы. Теперь посмотрим на её форму — построим модель данных, необходимых для бизнес-логики.
На основе карты коммуникаций и модели данных определим способы коммуникации частей системы между собой.
На выходе научитесь строить концептуальную модель данных, определять стили коммуникации, решать, какие данные складывать в одно событие, а какие — в несколько, и поймёте, как называть топики в Kafka.
Ключевые концепции и термины:
- Концептуальная, логическая и техническая модель данных
- Консистентность
- Delta vs State события
- System ID, Replication ID, Public ID
- Сериализация событий: JSON, Protobuf, Avro
Неделя 3. Эволюция и исправление ошибок
Система растёт и меняется, а бизнес-требования порой кажутся противоречащими друг другу. Учимся не бояться этого и разбираемся с обратной совместимостью.
На выходе поймёте, как эволюционируют большие системы, научитесь переходить с синхронной связи на асинхронную и обратно, а также строить подробный план для изменения любого вида связи.
Разберёте проблемы совместимости и способы их решения.
Ключевые концепции и термины:
- Прямая и обратная совместимость
- Версионирование коммуникаций
- Schema Registry
- Потеря данных и идемпотентность
- Ретраи
- Outbox Pattern и Dead Letter Queue
- Event Ordering
Неделя 4. Занимаемся поддержкой системы
Учимся работать с большой системой: разбираемся, как наблюдать за происходящим в коммуникациях и отлаживать возникающие проблемы.
На выходе научитесь мониторить большие системы и разберётесь в реакционных паттернах и их применимости для реализации бизнес-логики.
Научитесь доказательно объяснять и обосновывать для бизнеса и коллег принятые решения, связанные с коммуникациями.
Ключевые концепции и термины:
- Observability & Monitoring
- Доказуемость принятия решений
- Security
- CQRS, Event Sourcing
- Coordination Models
- Socio-technical Systems
Неделя 5. Итоги и дальнейшие шаги
Подводим общие итоги и обсуждаем дальнейшие шаги.
Повторяем концепции, пройденные в курсе, и планируем дальнейшее развитие собственных навыков после обучения.
На выходе получите чек-лист работы над коммуникациями систем и дальнейшие шаги по самостоятельному изучению. Соберёте все знания о системе вместе так, чтобы к ним можно было возвращаться.
Ключевые концепции и термины:
- Все концепции, рассмотренные в курсе
- C4, arc42, ISO 42010
- Team Topologies
- Integration Patterns
Неделя 6. Проверка домашних заданий
- Проверяем домашнее задание №4 у коллег
- Разбор домашних заданий №4 в Zoom — 15:00–17:00 МСК
Неделя 7. Q&A-сессия
- Финальная Q&A-сессия в Zoom — 16:00–17:30 МСК
Пакет «Аптечка»
Теория:
- 5 подробных лонгридов
- Список дополнительных материалов








