Найти тему
81 подписчик

🏛Событийно-ориентированная архитектура


Событийно-ориентированная архитектура  — это шаблон проектирования с применением событий для запуска и передачи изменений между компонентами системы. Службы здесь взаимодействуют, обмениваясь событиями, то есть сообщениями о наступлении события или изменении состояния.

Преимущества событийно-ориентированной архитектуры
▪️Слабая связанность: службы разделены, чем обеспечивается независимость и модульность.
▪️Масштабируемость: службы масштабируются независимо, исходя из потребности в событиях, чем повышается общая производительность системы.
▪️Асинхронная обработка: событиями обеспечиваются асинхронное взаимодействие, уменьшение задержки и времени отклика.
▪️Порождение событий: поддерживается естественным образом, ведь состояние системы определяется последовательностью прошлых событий.
▪️Гибкость: добавление новых служб или изменение имеющихся не сказывается на всей системе.

Kafka
Apache Kafka  — это распределенная потоковая платформа для создания конвейеров данных в реальном времени и потоковых приложений, потоковой передачи событий с высокой пропускной способностью, отказоустойчивостью и масштабируемостью.

В основе Kafka — модель обмена сообщениями «публикация-подписка», где в темах отправителями публикуются сообщения-события, а получатели — для получения и обработки сообщений — подписываются на эти темы. События хранятся в Kafka неизменяемо и только с возможностью добавления. Данные обрабатываются как в реальном времени, так и ретроспективе.

Ключевые понятия Kafka
• Темы  — каналы для публикации событий и подписки на них.
• Отправители  — службы, которыми события создаются и отправляются в темы Kafka.
• Получатели  — службы, которые подписываются на темы, ими обрабатываются входящие события.
• Разделы: каждая тема разбивается на разделы, чем обеспечиваются параллельная обработка и распределение нагрузки.

Роль Kafka в событийно-ориентированной архитектуре


1 минута