Профиль навыка

Event-Driven Architecture

Event sourcing, CQRS, saga, pub/sub, message brokers

Архитектура и проектирование Event-Driven архитектура

Ролей

9

где встречается этот навык

Грейдов

5

сформированная дорожка роста

Обязательных требований

0

ещё 45 — необязательные

Домен

Архитектура и проектирование

Группа

Event-Driven архитектура

Последнее обновление

17.03.2026

Как использовать

Выберите текущий грейд и сравните ожидания. Карточки ниже покажут, что нужно закрыть для следующего уровня.

Чего ждут на каждом уровне

Таблица показывает, как меняется глубина владения навыком от Junior до Principal.

Роль Обязательность Описание
Backend Developer (C#/.NET) Понимает концепцию событийно-ориентированной архитектуры в контексте .NET. Знает C# events и delegates, MediatR для internal events, понимает назначение message brokers (RabbitMQ, Azure Service Bus) в .NET-приложениях.
Backend Developer (Elixir) Понимает event-driven архитектуру в контексте BEAM VM и OTP. Знает GenServer как основу обработки сообщений в Elixir, различает call и cast, понимает роль Phoenix PubSub для внутренних событий.
Backend Developer (Go) Понимает концепцию событийно-ориентированной архитектуры и роль Go-каналов как внутреннего механизма передачи событий. Знает отличие pub/sub от point-to-point и зачем нужны message brokers в Go-проектах.
Backend Developer (Java/Kotlin) Понимает концепцию событийно-ориентированной архитектуры в контексте Java/Spring экосистемы. Знает назначение Spring Events, ApplicationEventPublisher, отличие синхронных и асинхронных событий в Spring Framework.
Backend Developer (Node.js) Понимает event loop в Node.js как основу event-driven модели. Знает EventEmitter, различает внутренние события приложения и внешние через message brokers. Понимает, зачем используют Redis Pub/Sub и BullMQ в Node.js-проектах.
Backend Developer (PHP) Понимает концепцию событийно-ориентированной архитектуры и ограничения PHP как request-response языка. Знает Laravel Events/Listeners, Symfony EventDispatcher, понимает зачем PHP-приложениям нужны очереди (Laravel Queue, Symfony Messenger).
Backend Developer (Python) Понимает концепцию событийно-ориентированной архитектуры и отличие от синхронного request-response. Знает, что такое event bus и зачем нужен pub/sub паттерн в контексте Python-приложений.
Backend Developer (Rust) Понимает концепцию event-driven архитектуры и роль Rust ownership model для безопасной обработки событий. Знает tokio channels, различает mpsc и broadcast каналы, понимает зачем Rust-сервисам нужны message brokers.
Backend Developer (Scala) Понимает event-driven архитектуру в контексте Scala/Akka экосистемы. Знает Actor Model, Akka actors как способ обработки сообщений, различает tell и ask паттерны. Понимает назначение Kafka в Scala-проектах.
Роль Обязательность Описание
Backend Developer (C#/.NET) Разрабатывает event-driven .NET-сервисы с MassTransit или NServiceBus. Реализует consumers с retry-политиками, настраивает dead letter queues, применяет MediatR для CQRS внутри bounded context. Использует Azure Service Bus или RabbitMQ как транспорт.
Backend Developer (Elixir) Реализует event-driven Elixir-системы с Broadway (Kafka/RabbitMQ/SQS consumers), GenStage для stream processing. Применяет Phoenix PubSub для real-time событий, Oban для background jobs с retry-логикой. Использует BEAM supervision trees для отказоустойчивой обработки событий.
Backend Developer (Go) Реализует event-driven микросервисы на Go с использованием NATS, Kafka или RabbitMQ. Применяет goroutines и channels для внутренней обработки событий, реализует graceful shutdown consumer-ов, обрабатывает ошибки с retry и backoff стратегиями.
Backend Developer (Java/Kotlin) Разрабатывает event-driven Java-сервисы с использованием Spring Kafka, Spring AMQP или Spring Cloud Stream. Реализует producer/consumer с обработкой ошибок, настраивает retry-template, dead letter topic. Применяет @KafkaListener с ручным коммитом офсетов.
Backend Developer (Node.js) Реализует event-driven Node.js-сервисы с BullMQ, RabbitMQ (amqplib) или kafkajs. Обрабатывает события асинхронно с retry-логикой, настраивает dead letter queues. Использует NestJS CQRS-модуль или собственные реализации паттерна pub/sub.
Backend Developer (PHP) Реализует event-driven обработку в PHP через Laravel Queue / Symfony Messenger с RabbitMQ или Redis. Настраивает workers, retry-политики, dead letter queues. Применяет domain events для декаплинга бизнес-логики в Laravel/Symfony приложениях.
Backend Developer (Python) Проектирует асинхронные обработчики событий на Python с использованием Celery, RabbitMQ или Redis Streams. Реализует паттерн producer-consumer, обрабатывает ошибки в цепочках событий и настраивает retry-политики.
Backend Developer (Rust) Реализует event-driven Rust-сервисы с rdkafka, lapin (RabbitMQ) или async-nats. Использует tokio для async обработки событий, реализует graceful shutdown с CancellationToken. Обрабатывает ошибки десериализации событий через serde с proper error types.
Backend Developer (Scala) Разрабатывает event-driven Scala-сервисы с Akka Streams, Alpakka Kafka или FS2/Cats Effect. Реализует reactive streams с backpressure, обрабатывает события через Akka Persistence для event sourcing. Применяет Scala type system для типобезопасных event contracts.
Роль Обязательность Описание
Backend Developer (C#/.NET) Проектирует event sourcing с EventStoreDB или Marten в .NET. Реализует saga-паттерн через MassTransit Automatonymous, transactional outbox с EF Core. Обеспечивает exactly-once обработку, проектирует event schema evolution с backward compatibility.
Backend Developer (Elixir) Проектирует event sourcing на Elixir с Commanded framework, CQRS через отдельные read/write models. Реализует saga-паттерн через Commanded process managers, обеспечивает exactly-once обработку. Использует BEAM distributed erlang для event propagation между нодами.
Backend Developer (Go) Проектирует высокопроизводительные event-driven системы на Go, используя преимущества concurrency модели языка. Реализует event sourcing, CQRS, saga-паттерны. Обеспечивает exactly-once семантику через идемпотентные обработчики и transactional outbox в Go-сервисах.
Backend Developer (Java/Kotlin) Проектирует event sourcing и CQRS на Java с использованием Axon Framework или собственных решений на Spring. Реализует saga-паттерн для распределённых транзакций, transactional outbox через Debezium CDC. Обеспечивает ordering гарантии и exactly-once обработку в Kafka Streams.
Backend Developer (Node.js) Проектирует event sourcing и CQRS на Node.js с учётом однопоточной модели. Реализует saga-оркестрацию через message broker, применяет transactional outbox. Обеспечивает идемпотентность обработчиков, управляет backpressure в event streams при высокой нагрузке.
Backend Developer (PHP) Проектирует event-driven PHP-системы с Symfony Messenger или Laravel Horizon. Реализует event sourcing через Prooph или Ecotone framework, saga-паттерн для распределённых транзакций. Обеспечивает reliable message processing в условиях stateless PHP (long-running workers, Swoole/RoadRunner).
Backend Developer (Python) Проектирует event-driven системы на Python с гарантиями доставки (at-least-once, exactly-once). Применяет event sourcing для критичных доменов, реализует saga-паттерн для распределённых транзакций через Celery/Kafka. Обеспечивает идемпотентность обработчиков.
Backend Developer (Rust) Проектирует высокопроизводительные event-driven системы на Rust, используя zero-copy десериализацию, lock-free очереди. Реализует event sourcing с типобезопасными агрегатами через Rust enum/trait system. Обеспечивает exactly-once обработку, transactional outbox с sqlx.
Backend Developer (Scala) Проектирует event sourcing и CQRS на Scala с Akka Persistence / Akka Projection или чистыми FP-подходами (FS2 + Doobie). Реализует saga через Akka FSM, обеспечивает exactly-once через Kafka Streams DSL на Scala. Применяет ADT (sealed traits) для типобезопасных доменных событий.
Роль Обязательность Описание
Backend Developer (C#/.NET) Определяет архитектуру событийных .NET-систем: выбор между MassTransit, NServiceBus, Wolverine. Проектирует integration events между bounded contexts, schema registry для .NET-сервисов. Разрабатывает корпоративные NuGet-пакеты для стандартизации event-driven коммуникации.
Backend Developer (Elixir) Определяет архитектуру событийных Elixir-систем: выбор между Commanded, EventStore, Broadway для разных use cases. Проектирует multi-node event propagation через BEAM clustering, мониторинг GenStage pipelines. Разрабатывает библиотеки для типобезопасных событий с помощью Elixir behaviours и protocols.
Backend Developer (Go) Определяет архитектуру событийных систем для Go-платформы: выбор брокеров (NATS vs Kafka), проектирование schema evolution, мониторинг consumer lag. Разрабатывает внутренние Go-библиотеки для стандартизации работы с событиями, обучает команду Event Storming и domain events.
Backend Developer (Java/Kotlin) Определяет архитектуру событийных Java-систем компании: выбор между Kafka, RabbitMQ, Pulsar, стратегия партиционирования, schema registry (Confluent/Apicurio). Разрабатывает корпоративные starter-ы для стандартизации работы с событиями в Spring Boot микросервисах.
Backend Developer (Node.js) Определяет архитектуру событийных Node.js-систем: выбор между BullMQ, Kafka, NATS. Проектирует schema validation для событий (JSON Schema, Avro), мониторинг consumer lag. Создаёт internal NPM-пакеты для стандартизации работы с событиями в Node.js-микросервисах команды.
Backend Developer (PHP) Определяет архитектуру событийных PHP-систем: выбор между Symfony Messenger, Laravel Queue, Ecotone. Проектирует интеграцию PHP-сервисов с Kafka/RabbitMQ, schema validation для событий. Решает специфичные для PHP проблемы: memory leaks в long-running workers, перезапуск при деплое.
Backend Developer (Python) Определяет архитектуру событийных систем на уровне компании: выбор между Kafka, RabbitMQ, Redis Streams для Python-сервисов. Проектирует schema registry для событий, версионирование контрактов, мониторинг event flow. Обучает команду работе с eventually consistent системами.
Backend Developer (Rust) Определяет архитектуру событийных Rust-систем: выбор транспорта, проектирование type-safe event schemas через Rust macros и proc macros. Разрабатывает internal crates для стандартизации event handling, обеспечивает compile-time гарантии корректности обработки событий.
Backend Developer (Scala) Определяет архитектуру событийных Scala-систем: выбор между Akka/Pekko, ZIO, Cats Effect экосистемами для event processing. Проектирует schema evolution для Avro/Protobuf событий, мониторинг actor systems. Разрабатывает библиотеки для стандартизации event-driven коммуникации.
Роль Обязательность Описание
Backend Developer (C#/.NET) Формирует event-driven стратегию для .NET-платформы enterprise-масштаба. Определяет event governance, versioning contracts, migration paths. Проектирует мультирегиональный event mesh с Azure Event Grid / Azure Service Bus. Руководит переходом от WCF/legacy .NET систем к event-driven .NET 8+ микросервисам.
Backend Developer (Elixir) Формирует стратегию event-driven архитектуры для Elixir-платформы, максимально используя преимущества BEAM VM (let it crash, supervision, distribution). Определяет когда использовать BEAM-native messaging vs external brokers, стандарты событий для polyglot-систем. Руководит масштабированием event processing на BEAM кластере.
Backend Developer (Go) Формирует стратегию event-driven архитектуры на уровне платформы. Определяет стандарты событий (CloudEvents), governance процессы, инструменты для schema registry и event catalog. Руководит миграцией legacy систем на event-driven подход, обеспечивает observability через distributed tracing событий.
Backend Developer (Java/Kotlin) Формирует event-driven стратегию для Java-платформы масштаба enterprise. Определяет governance для событий, версионирование схем, миграционные стратегии. Руководит переходом от монолитного Spring-приложения к event-driven микросервисам, проектирует event mesh для мультикластерных инсталляций.
Backend Developer (Node.js) Формирует стратегию event-driven архитектуры для Node.js-платформы. Решает вопросы масштабирования event consumers с учётом особенностей Node.js (single-threaded), определяет стандарты CloudEvents, проектирует event catalog и governance. Руководит миграцией с монолитного Express/NestJS на event-driven микросервисы.
Backend Developer (PHP) Формирует стратегию event-driven архитектуры для PHP-платформы. Определяет подходы к масштабированию PHP workers (Kubernetes + Horizon/Supervisor), стандарты событий, governance. Руководит миграцией монолитного Laravel/Symfony на event-driven микросервисы с учётом специфики PHP-экосистемы.
Backend Developer (Python) Формирует стратегию event-driven архитектуры для всей платформы. Определяет стандарты CloudEvents, governance для событийных схем, миграцию от монолитных Python-приложений к event-driven микросервисам. Проводит архитектурные ревью событийных систем и выстраивает observability для event flows.
Backend Developer (Rust) Формирует стратегию event-driven архитектуры для Rust-платформы. Определяет баланс между compile-time safety и runtime flexibility для event schemas. Проектирует event mesh с учётом Rust-специфики (ownership, lifetimes в async контексте), руководит миграцией критичных сервисов на event-driven Rust.
Backend Developer (Scala) Формирует event-driven стратегию для Scala-платформы: FP-first подход (ZIO/CE) vs Actor Model (Akka/Pekko), стандарты событий, governance. Проектирует migration path при смене фреймворков, обеспечивает observability для actor systems и stream processing. Руководит архитектурными решениями для reactive event-driven систем.

Сообщество

👁 Следить ✏️ Предложить изменение Войдите, чтобы предлагать изменения
📋 Предложения
Пока нет предложений для Event-Driven Architecture
Загрузка комментариев...