Apache Kafka работает в режиме реального времени как распределённый брокер сообщений. sky.pro Он обеспечивает связь между приложениями или модулями, принимает сообщения от отправителей (производителей), хранит их и доставляет получателям (потребителям). hostpro.by
Процесс работы Kafka можно описать на примере интернет-магазина: practicum.yandex.ru
- Когда в системе появляется новый товар, сервис отправки уведомлений обращается к Kafka и отправляет об этом сообщение в тему «Новые товары». practicum.yandex.ru
- Сервис оформления заказа и сервис поиска товаров подписаны на эту тему, поэтому сразу получают это сообщение и добавляют новый товар к себе. practicum.yandex.ru
- Когда клиент что-то покупает, сервис оформления заказа отправляет сообщение в тему «Новые заказы». practicum.yandex.ru
- Уведомление о заказе получат все, кто подписан на эту тему. practicum.yandex.ru
Некоторые особенности работы Kafka в реальном времени:
- Репликация. sky.pro proglib.io Kafka автоматически создаёт несколько копий на разных серверах. sky.pro Если один сервер выходит из строя, данные всё равно доступны на других. sky.pro
- Масштабируемость. sky.pro practicum.yandex.ru Система может увеличивать свою пропускную способность и обрабатывать большие объёмы данных. sky.pro
- Асинхронная обработка сообщений. sky.pro Это позволяет производителям не блокировать свою работу, когда они ждут подтверждения, получено ли сообщение. sky.pro
- Поддержка множества потребителей. proglib.io Kafka позволяет нескольким потребителям одновременно читать один и тот же поток сообщений, не мешая друг другу. proglib.io