81 подписчик
🏛Событийно-ориентированная архитектура
Событийно-ориентированная архитектура — это шаблон проектирования с применением событий для запуска и передачи изменений между компонентами системы. Службы здесь взаимодействуют, обмениваясь событиями, то есть сообщениями о наступлении события или изменении состояния.
Преимущества событийно-ориентированной архитектуры
▪️Слабая связанность: службы разделены, чем обеспечивается независимость и модульность.
▪️Масштабируемость: службы масштабируются независимо, исходя из потребности в событиях, чем повышается общая производительность системы.
▪️Асинхронная обработка: событиями обеспечиваются асинхронное взаимодействие, уменьшение задержки и времени отклика.
▪️Порождение событий: поддерживается естественным образом, ведь состояние системы определяется последовательностью прошлых событий.
▪️Гибкость: добавление новых служб или изменение имеющихся не сказывается на всей системе.
Kafka
Apache Kafka — это распределенная потоковая платформа для создания конвейеров данных в реальном времени и потоковых приложений, потоковой передачи событий с высокой пропускной способностью, отказоустойчивостью и масштабируемостью.
В основе Kafka — модель обмена сообщениями «публикация-подписка», где в темах отправителями публикуются сообщения-события, а получатели — для получения и обработки сообщений — подписываются на эти темы. События хранятся в Kafka неизменяемо и только с возможностью добавления. Данные обрабатываются как в реальном времени, так и ретроспективе.
Ключевые понятия Kafka
• Темы — каналы для публикации событий и подписки на них.
• Отправители — службы, которыми события создаются и отправляются в темы Kafka.
• Получатели — службы, которые подписываются на темы, ими обрабатываются входящие события.
• Разделы: каждая тема разбивается на разделы, чем обеспечиваются параллельная обработка и распределение нагрузки.
Роль Kafka в событийно-ориентированной архитектуре
📌 Читать
1 минута
19 сентября 2023