Домен
Backend Development
Профиль навыка
Kafka, RabbitMQ, NATS — паттерны работы с очередями, routing, dead letter
Ролей
9
где встречается этот навык
Грейдов
5
сформированная дорожка роста
Обязательных требований
29
ещё 16 — необязательные
Backend Development
Очереди сообщений
17.03.2026
Выберите текущий грейд и сравните ожидания. Карточки ниже покажут, что нужно закрыть для следующего уровня.
Таблица показывает, как меняется глубина владения навыком от Junior до Principal.
| Роль | Обязательность | Описание |
|---|---|---|
| Backend Developer (C#/.NET) | Понимает паттерны брокеров сообщений в .NET: publish-subscribe, request-reply и competing consumers с MassTransit/NServiceBus. Следует командным конвенциям для публикации и потребления сообщений через RabbitMQ или Azure Service Bus. | |
| Backend Developer (Elixir) | Понимает паттерны брокеров сообщений в Elixir/OTP: pub-sub через Broadway, work queues через GenStage. Следует командным конвенциям для потребления сообщений из RabbitMQ/Kafka с использованием встроенных примитивов конкурентности и supervision trees. | |
| Backend Developer (Go) | Обязателен | Понимает паттерны брокеров сообщений в Go: pub-sub, fan-out и work queues с channels и goroutines. Следует командным конвенциям для интеграции с NATS, Kafka или RabbitMQ через Go-клиентские библиотеки. |
| Backend Developer (Java/Kotlin) | Понимает паттерны брокеров сообщений в Java/Spring: pub-sub через Spring Cloud Stream, JMS templates и Kafka listeners. Следует командным конвенциям для публикации и потребления сообщений с автоконфигурацией Spring Boot. | |
| Backend Developer (Node.js) | Понимает паттерны брокеров сообщений в Node.js: pub-sub с BullMQ, event-driven messaging с amqplib. Следует командным конвенциям для асинхронной обработки сообщений через очереди и event emitters в Express/Fastify-сервисах. | |
| Backend Developer (PHP) | Обязателен | Понимает паттерны брокеров сообщений в PHP: pub-sub через Symfony Messenger, queue workers через Laravel Queues. Следует командным конвенциям для диспатчинга и потребления сообщений через драйверы Redis, RabbitMQ или SQS. |
| Backend Developer (Python) | Понимает базовые концепции message broker'ов: publish/subscribe, point-to-point, очереди сообщений. Умеет отправить и получить сообщение через RabbitMQ (pika) или Redis pub/sub. Знает зачем нужна асинхронная коммуникация между сервисами. | |
| Backend Developer (Rust) | Понимает паттерны брокеров сообщений в Rust: pub-sub с lapin (AMQP), async consumers через tokio channels. Следует командным конвенциям для типобезопасной сериализации сообщений с serde и паттернов надёжной доставки. | |
| Backend Developer (Scala) | Понимает паттерны брокеров сообщений в Scala: pub-sub через Akka Streams/ZIO Streams, интеграция Kafka через Alpakka. Следует командным конвенциям для функциональной обработки сообщений с effect systems и обработкой backpressure. |
| Роль | Обязательность | Описание |
|---|---|---|
| Backend Developer (C#/.NET) | Обязателен | Работает с messaging в .NET: настраивает MassTransit с consumer/saga, использует NServiceBus для enterprise messaging, применяет Azure Service Bus с sessions для ordered processing. Реализует retry policies через Polly и настраивает dead letter handling. |
| Backend Developer (Elixir) | Обязателен | Работает с messaging в Elixir: использует Broadway для concurrent message processing из RabbitMQ/Kafka/SQS, настраивает GenStage для internal event processing pipeline. Применяет OTP supervisor patterns для отказоустойчивой обработки сообщений с автоматическим перезапуском. |
| Backend Developer (Go) | Обязателен | Уверенно работает с message broker'ами на Go: реализует consumer groups в Kafka через segmentio/kafka-go или Sarama, настраивает NATS JetStream для durable messaging, применяет паттерны worker pool для параллельной обработки. Обрабатывает poison messages и настраивает retry с backoff. |
| Backend Developer (Java/Kotlin) | Обязателен | Работает с messaging в Java-экосистеме: использует Spring Kafka для Kafka-интеграции, Spring Cloud Stream для абстракции от брокера, настраивает consumer groups и partition assignment. Применяет @KafkaListener с concurrency для параллельной обработки и настраивает error handler с retry. |
| Backend Developer (Node.js) | Обязателен | Работает с message broker'ами в Node.js: использует KafkaJS для Kafka-интеграции, настраивает NestJS microservices с RabbitMQ/Kafka транспортом, реализует pub/sub через Redis Streams. Применяет consumer groups и настраивает retry логику с exponential backoff. |
| Backend Developer (PHP) | Обязателен | Работает с messaging в PHP: использует Symfony Messenger с RabbitMQ/Redis транспортом, настраивает Laravel Horizon для мониторинга очередей, применяет routing по message type. Обрабатывает failed jobs через retry и dead letter queues, настраивает приоритетные очереди. |
| Backend Developer (Python) | Обязателен | Работает с message broker'ами в Python-проектах: использует Celery с RabbitMQ/Redis для фоновых задач, реализует pub/sub через confluent-kafka или aiokafka, применяет паттерны competing consumers и fan-out. Настраивает dead letter queues для обработки ошибок. |
| Backend Developer (Rust) | Обязателен | Работает с message broker'ами в Rust: реализует consumer groups через rdkafka с offset management, использует NATS через async-nats для lightweight messaging, применяет tokio channels для internal message passing. Обрабатывает backpressure через bounded channels и flow control. |
| Backend Developer (Scala) | Обязателен | Работает с messaging в Scala-экосистеме: использует Alpakka Kafka с Akka Streams для reactive processing, настраивает consumer groups с committable sources, реализует at-least-once delivery через committing offsets. Применяет fs2-kafka для functional stream processing с cats-effect. |
| Роль | Обязательность | Описание |
|---|---|---|
| Backend Developer (C#/.NET) | Обязателен | Проектирует messaging-архитектуру для .NET микросервисов: реализует outbox pattern через EF Core с Debezium/polling publisher, настраивает MassTransit courier для routing slip pattern, интегрирует Kafka через Confluent .NET Client. Проектирует event-driven архитектуру с MediatR для internal events. |
| Backend Developer (Elixir) | Обязателен | Проектирует messaging-архитектуру для Elixir-систем: определяет границы между BEAM distribution и external brokers, реализует event sourcing через Commanded framework, настраивает Broadway с custom acknowledger для exactly-once semantics. Оптимизирует concurrent processing через process pooling. |
| Backend Developer (Go) | Обязателен | Проектирует messaging-системы на Go: реализует transactional outbox через database polling или CDC, проектирует idempotent consumers с deduplication, настраивает message ordering гарантии. Оптимизирует throughput через batch processing и zero-allocation serialization. |
| Backend Developer (Java/Kotlin) | Обязателен | Проектирует messaging-архитектуру для Java-микросервисов: реализует transactional outbox через Spring @Transactional + Debezium, настраивает exactly-once processing в Kafka с transactional producer, проектирует schema evolution через Confluent Schema Registry. Оптимизирует consumer throughput через batch listener. |
| Backend Developer (Node.js) | Обязателен | Проектирует messaging-архитектуру для Node.js сервисов: реализует transactional outbox с MongoDB change streams или PostgreSQL LISTEN/NOTIFY, настраивает Kafka с exactly-once semantics через idempotent producer. Проектирует event schema management и consumer idempotency через deduplication store. |
| Backend Developer (PHP) | Обязателен | Проектирует messaging-архитектуру для PHP-систем: реализует event-driven коммуникацию между PHP-сервисами через RabbitMQ с exchange routing, интегрирует PHP с Kafka через php-rdkafka для event streaming. Проектирует idempotent consumers и transactional outbox для consistency. |
| Backend Developer (Python) | Обязателен | Проектирует messaging-архитектуру для Python-сервисов: выбирает между RabbitMQ, Kafka, Redis Streams для разных сценариев, реализует transactional outbox для гарантии доставки, настраивает exactly-once semantics в Kafka. Проектирует schema registry для эволюции форматов сообщений. |
| Backend Developer (Rust) | Обязателен | Проектирует высокопроизводительные messaging-системы на Rust: реализует zero-copy десериализацию для максимального throughput, проектирует custom message routing через tokio task scheduling, настраивает batch processing с configurable flush intervals. Оптимизирует memory allocation для sustained high-throughput processing. |
| Backend Developer (Scala) | Обязателен | Проектирует messaging-архитектуру для Scala: реализует exactly-once processing через Kafka transactions с Alpakka, проектирует event sourcing с Akka Persistence или EventStoreDB, настраивает stream processing с Flink/Kafka Streams через Scala API. Оптимизирует backpressure и parallelism. |
| Роль | Обязательность | Описание |
|---|---|---|
| Backend Developer (C#/.NET) | Обязателен | Стандартизирует messaging в .NET экосистеме: выбирает между MassTransit, NServiceBus и Wolverine, проектирует event sourcing с EventStoreDB/Marten, внедряет saga orchestration для распределённых транзакций. Создает внутренние NuGet-пакеты для стандартизации messaging patterns. |
| Backend Developer (Elixir) | Обязателен | Стандартизирует messaging в Elixir-экосистеме: проектирует архитектуру с Commanded для CQRS/ES, внедряет EventStore для durable event log, создает internal libraries для стандартизации Broadway pipeline. Определяет паттерны для distributed saga через process managers. |
| Backend Developer (Go) | Обязателен | Определяет messaging-архитектуру для Go-платформы: стандартизирует internal event bus через Watermill или custom framework, проектирует event schema management с Protobuf/Avro, внедряет distributed tracing для message flows. Разрабатывает паттерны для saga orchestration и compensation. |
| Backend Developer (Java/Kotlin) | Обязателен | Стандартизирует messaging в Java-экосистеме компании: выбирает между Spring Cloud Stream, Axon Framework, Eventuate для event-driven архитектуры, проектирует saga orchestration с Temporal или Axon Saga. Внедряет event store для audit и replay, определяет стратегию topic governance. |
| Backend Developer (Node.js) | Обязателен | Стандартизирует messaging в Node.js экосистеме: создает internal SDK для абстракции от конкретного broker'а, проектирует event catalog с типизированными событиями через TypeScript, внедряет distributed tracing для message flows. Определяет паттерны для saga и choreography в Node.js. |
| Backend Developer (PHP) | Обязателен | Стандартизирует messaging в PHP-экосистеме: определяет паттерны для async коммуникации с учётом PHP process model ограничений, внедряет Ecotone Framework для CQRS/event sourcing, проектирует интеграцию PHP-монолита с event-driven микросервисами. Обучает команды messaging best practices. |
| Backend Developer (Python) | Обязателен | Определяет messaging-стратегию для организации: стандартизирует паттерны (saga, choreography vs orchestration, event sourcing), внедряет monitoring/alerting для message lag и consumer health. Проектирует партицирование Kafka-топиков для оптимальной параллелизации и data locality. |
| Backend Developer (Rust) | Обязателен | Определяет messaging-архитектуру для Rust-системы: создает внутренний messaging framework с абстракцией над broker'ами, проектирует event sourcing с custom event store на Rust, стандартизирует serialization через Serde с schema evolution. Менторит по идиоматичной обработке сообщений в async Rust. |
| Backend Developer (Scala) | Обязателен | Стандартизирует messaging в Scala-экосистеме: выбирает между Alpakka, fs2-kafka и ZIO Kafka для разных команд, проектирует event-driven архитектуру с CQRS через Akka Projection, внедряет schema registry интеграцию с Avro/Protobuf для type-safe evolution. |
| Роль | Обязательность | Описание |
|---|---|---|
| Backend Developer (C#/.NET) | Формирует enterprise messaging стратегию для .NET: проектирует multi-transport архитектуру (Azure Service Bus + Kafka + RabbitMQ), определяет governance для event-driven систем. Влияет на архитектурные решения по внедрению event sourcing и CQRS на уровне организации. | |
| Backend Developer (Elixir) | Формирует messaging стратегию для Elixir-платформы: проектирует гибридную архитектуру BEAM clustering + Kafka для cross-language event streaming, определяет когда использовать Phoenix PubSub vs external broker. Влияет на развитие messaging-экосистемы Elixir (Broadway, Commanded, GenStage). | |
| Backend Developer (Go) | Формирует стратегию event-driven архитектуры на Go: проектирует multi-datacenter messaging с eventual consistency гарантиями, определяет паттерны для event versioning и schema migration. Влияет на архитектуру streaming-платформы с Kafka/Pulsar/NATS для обработки миллионов событий в секунду. | |
| Backend Developer (Java/Kotlin) | Формирует enterprise messaging стратегию: проектирует multi-cluster Kafka платформу с cross-datacenter репликацией, определяет стандарты для event-driven архитектуры на уровне организации. Влияет на выбор между Kafka, Pulsar, RabbitMQ для разных use cases с учётом TCO и operational complexity. | |
| Backend Developer (Node.js) | Формирует event-driven стратегию для Node.js платформы: проектирует real-time event processing pipeline с Kafka Streams/ksqlDB, определяет паттерны для event sourcing с event store. Влияет на архитектуру streaming-платформы с учётом Node.js event loop модели и backpressure handling. | |
| Backend Developer (PHP) | Формирует messaging стратегию для PHP-платформы: определяет как PHP-системы участвуют в enterprise event-driven архитектуре, проектирует подходы к async processing с учётом FPM/Swoole/RoadRunner runtime. Влияет на архитектурные решения по переходу от synchronous к event-driven в PHP legacy. | |
| Backend Developer (Python) | Формирует платформенную стратегию асинхронной коммуникации: проектирует multi-region messaging с Active-Active репликацией Kafka, определяет governance для schema evolution и topic naming conventions. Влияет на архитектуру event-driven платформы с учётом compliance и data retention требований. | |
| Backend Developer (Rust) | Формирует стратегию использования Rust для критически важных messaging компонентов: проектирует Rust-based message router/proxy для multi-protocol поддержки, определяет архитектуру streaming-платформы с sub-millisecond latency. Контрибьютит в open-source messaging инфраструктуру (Fluvio, NATS). | |
| Backend Developer (Scala) | Формирует streaming-стратегию для Scala-платформы: проектирует real-time processing pipeline с Apache Flink/Spark Structured Streaming на Scala, определяет architecture decision records для event sourcing vs traditional messaging. Влияет на развитие функционального подхода к messaging в Scala экосистеме. |